ฉันกำลังคิดอย่างหนักว่าชื่อเรื่องที่ดีที่สุด สื่อความหมาย และมีประโยชน์มากที่สุดสำหรับหัวข้อในวันนี้คืออะไร และฉันก็คิดขึ้นมาได้ เรื่องสั้นสั้น ๆ แล็ปท็อปทดสอบ Lenovo G50 ของฉันซึ่งรันการติดตั้งแปดบูตด้วย Windows และลีนุกซ์รุ่นต่าง ๆ เพิ่งมี NVRAM เป็นแบบอ่านอย่างเดียว ฉันไม่สามารถเปลี่ยนการตั้งค่า UEFI ได้ ดังนั้นฉันจึงไม่สามารถบูตจากสื่อภายนอกและติดตั้งระบบใหม่ได้
อย่างไรก็ตาม ฉันยังคงต้องการที่จะเปลี่ยนแปลงการตั้งค่าที่มีอยู่ ดังนั้นฉันจึงใช้เวลาคิดเล็กน้อย มีวิธีแก้ไขปัญหานี้หรือไม่ ใช่แล้ว! สิ่งที่ฉันจะแสดงให้คุณเห็นในวันนี้เป็นเคล็ดลับที่ค่อนข้างอันตราย (ข้อมูลฉลาด) ที่ทำให้ฉันสามารถติดตั้งระบบใหม่ได้แม้จะมีข้อจำกัดด้านฮาร์ดแวร์ที่ชัดเจนที่ฉันเผชิญอยู่ก็ตาม ปฏิบัติตามฉัน.
การเข้าถึงดิสก์ดิบ VirtualBox
ก่อนที่เราจะเริ่ม ฉันขอเตือนคุณอย่างจริงจัง:
สิ่งที่ฉันจะพูดถึงในวันนี้ต้องการความรู้จากผู้เชี่ยวชาญและความมั่นใจในการทำงานกับเวอร์ชวลไลเซชันและการเข้าถึงดิสก์ดิบ เป็นชุดปฏิบัติการที่ยุ่งยากและอันตรายมาก ซึ่งอาจนำไปสู่การสูญเสียข้อมูลอย่างรุนแรงและความเจ็บปวดทางอารมณ์อย่างใหญ่หลวง หากคุณทำตามคำแนะนำของฉันไม่ว่าจะด้วยเหตุผลใดก็ตาม คุณอาจจบลงด้วยระบบที่น่าเบื่อโดยสิ้นเชิง และสูญเสียข้อมูลส่วนตัวอันมีค่าไป ตอนนี้ดำเนินการด้วยความระมัดระวัง
ตอนนี้ เมื่อคุณสำรองข้อมูลและอิมเมจระบบของคุณแล้ว คุณอาจเริ่มพิจารณาทดสอบสิ่งนี้ นี่คือวิธีการทำงาน:VirtualBox อนุญาตให้คุณเมานต์ดิสก์ทั้งหมดหรือพาร์ติชั่นเฉพาะเป็นดิสก์เสมือน ดังนั้นการเข้าถึงแบบดิบ แทนที่จะสร้างคอนเทนเนอร์ไฟล์ที่จะเป็นดิสก์เสมือน คุณใช้ฮาร์ดแวร์จริงโดยตรง
ดังนั้น แนวคิดจึงกลายเป็น:ฉันสามารถสร้างเครื่องเสมือน ใช้คุณสมบัติการเข้าถึงดิสก์ดิบ บูตจาก ISO ติดตั้งระบบปฏิบัติการที่เกี่ยวข้องบนพาร์ติชันจริง ข้ามการตั้งค่า bootloader แล้วไปที่อินสแตนซ์จริงของ ระบบปฏิบัติการที่ควบคุมลำดับการบู๊ต (ในกรณีนี้คือ openSUSE) และอัปเดต GRUB ที่นั่น
สร้างดิสก์ดิบ
คำสั่งต่อไปนี้จะทำสิ่งมหัศจรรย์ให้กับคุณ:
คำสั่งภายใน VBoxManage createrawvmdk -ชื่อไฟล์ file.vmdk -rawdisk /dev/sdX -partitions Y,Z -relative
เรามีอะไรที่นี่? เราสร้างดิสก์ ซึ่งบางแห่งอาจอยู่ภายในโฮมไดเร็กตอรี่ของคุณ หรือโฟลเดอร์เฉพาะที่คุณเก็บเครื่องเสมือนทั้งหมดของคุณ คุณระบุดิสก์ดิบที่คุณต้องการใช้ (ในกรณีของฉัน /dev/sda) และพาร์ติชันที่คุณต้องการใช้ ฉันตัดสินใจเลือกเพียงอันเดียว (/dev/sda8 ซึ่งโฮสต์ CentOS 7.2) และใช้แฟล็กสัมพัทธ์ ซึ่งอนุญาตให้เข้าถึงการเขียนเฉพาะพาร์ติชันที่ระบุเท่านั้น สิ่งนี้ควรจำกัดจำนวนความเสียหายที่คุณอาจทำได้
คำสั่งภายใน VBoxManage createrawvmdk -filename test.vmdk -rawdisk /dev/sda -partitions 8 -relative
คำสั่งภายใน VBoxManage createrawvmdk -filename /home/roger/test.vmdk -rawdisk /dev/sda -partitions 8 -relative
สร้างการเข้าถึงดิสก์โฮสต์ RAW ไฟล์ VMDK /home/roger/test.vmdk สำเร็จ
คุณควรรันคำสั่งนี้เป็น sudo หรือ root คุณควรเริ่ม VirtualBox ด้วยวิธีเดียวกัน (โดยไม่คำนึงถึงสิทธิ์ของไฟล์และความเป็นเจ้าของ vmdk) เนื่องจากคุณต้องมีสิทธิ์บางอย่างในการคว้าอุปกรณ์ เช่นเดียวกับการดำเนินการเมานต์
สังเกตที่เก็บข้อมูล:ดิสก์ 1TB แม้ว่าพาร์ติชัน Kubuntu จะมีขนาดเพียง 100 GB นี่เป็นเพราะเรากำลังใช้การเข้าถึงดิสก์ดิบ
หากคุณลองโดยไม่ใช้ sudo หรือรูท คุณจะได้รับข้อผิดพลาดที่น่าเกลียดและไม่มีประโยชน์:
รหัสผลลัพธ์:VBOX_E_FILE_ERROR (0x80BB0004)
ส่วนประกอบ:MediumWrap
อินเทอร์เฟซ:IMedium {4afe423b-43e0-e9d0-82e8-ceb307940dda}
ผู้โทร:IVirtualBox {0169423f-46b4-cde9-91af-1e9d5b6cd945}
แคลลี่ RC:VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)
คุณสมบัติ UEFI
มีอะไรมากกว่านั้น สิ่งที่ทำให้ซับซ้อนยิ่งขึ้นคือฉันมีระบบ UEFI ที่มีเค้าโครงดิสก์ GPT ซึ่งหมายความว่าคุณจะต้องใช้คอนโทรลเลอร์ SATA สำหรับดิสก์และเมานต์ ISO ด้วยวิธีเดียวกัน นอกจากนี้ คุณจะต้องระบุ EFI ในการตั้งค่าเครื่องเสมือน เมื่อฉันพูดว่าคุณ ฉันหมายถึงฉัน เพราะคุณไม่ควรทำเช่นนี้
การทดสอบ
แน่นอน ฉันสามารถบูตเครื่องเสมือนด้วยวิธีนี้ได้อย่างง่ายดาย คุณสามารถดูโครงสร้างดิสก์ทั้งหมดได้ ไม่มีทางแก้ไขได้ และตอนนี้ มันกลายเป็นเรื่องของการติดตั้งที่เรียบง่าย และการมุ่งเน้นที่รัดกุม เพื่อไม่ให้สิ่งใดเสียหายหรือเสียหาย แต่มีวิธีวางข้อมูลใหม่ลงในพาร์ติชัน
ในทางเทคนิค คุณยังสามารถบูตเครื่องเสมือน จากนั้นคัดลอกข้อมูลจากสื่อสดที่ขยายและติดตั้งลงบนฮาร์ดดิสก์ คุณสามารถใช้ dd ได้ แต่เรากำลังเข้าสู่ดินแดนแห่งความบ้าคลั่งและเจ๋งจริงๆ
นี่คือสิ่งที่เราเรียกว่า Inception
สรุป
คิดว่าการเข้าถึงดิบเป็นอาวุธเชิงกลยุทธ์ของคุณ คุณไม่ต้องการใช้มัน แต่คุณรู้สึกสบายใจที่พวกมันมีอยู่จริง และคุณสามารถพึ่งพามันได้หากต้องการ ในวันที่ฝนตก แต่ฉันเชื่อว่าการอัปเกรด in-vivo แบบออร์แกนิกน่าจะน่าสนใจพอ และจากนั้นฉันก็มีเครื่องทดสอบรุ่นเก่าอีกสองสามเครื่องที่จะมอบความบันเทิงที่จำเป็นระหว่างการหลีกหนีความวุ่นวายของเรา
ถ้าคุณคิดเกี่ยวกับเรื่องนี้ มีทางเสมอ แต่ฉันชอบที่จะหาทางออกที่สงบสุข ซึ่งหมายถึงการพยายามทำให้ NVRAM สามารถเขียนได้อีกครั้งโดยไม่ทำให้โน้ตบุ๊กแตกหรือทำให้ทุกอย่างในดิสก์ต้องเสี่ยง ดังนั้น หากคุณจำเป็นจริง ๆ การเข้าถึงดิสก์ดิบผ่านการจำลองเสมือนจะเสนอวิธีแก้ปัญหา ตอนนี้เราไม่เคยใช้เลย ดูแล.
ไชโย