Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> เครื่องเสมือน

การบูต VirtualBox จากไดรฟ์ USB:คำแนะนำทีละขั้นตอน

วิธีบูตจากไดรฟ์ USB ใน VirtualBox - บทช่วยสอน

อัปเดต:12 กุมภาพันธ์ 2567

ใน VirtualBox เมื่อคุณสร้างเครื่องเสมือนใหม่ โดยปกติแล้ว คุณจะมีตัวเลือก "สอง" สำหรับการเริ่มต้นระบบปฏิบัติการเกสต์ คุณสามารถบูตจากอิมเมจ ISO (ซึ่งจะเทียบเท่ากับไดรฟ์ซีดี/ดีวีดี) หรือคุณสามารถบูตจากฮาร์ดดิสก์เสมือนก็ได้ แต่จะเป็นอย่างไรหากคุณมีระบบปฏิบัติการบนไดรฟ์ USB จริงๆ และต้องการใช้เป็นสื่อเริ่มต้น

มีสาเหตุหลายประการที่คุณอาจต้องการทำเช่นนี้ ตัวอย่างเช่น ระบบปฏิบัติการอาจไม่พร้อมใช้งานในรูปแบบที่เรียบง่ายและเป็นมิตร เช่น ISO หรือคุณอาจไม่มี ISO ต้นทาง มีเพียงส่วนสุดท้าย ตารางพาร์ติชัน และข้อมูลในไดรฟ์ภายนอก ในบทช่วยสอนวันนี้ ฉันจะแสดงให้คุณเห็นว่าคุณสามารถบูตจากไดรฟ์ USB (ที่สามารถบู๊ตได้) ที่มีอยู่ และเรียกใช้ระบบปฏิบัติการใดก็ตามที่อยู่ในนั้น เราจะใช้ Linux เป็นแพลตฟอร์มที่เราเลือก ตามมาสิ

ตัวเลือกดิสก์ Raw และคำเตือนที่สำคัญ

VirtualBox รองรับตัวเลือกในการบูทจากอุปกรณ์ "ดิบ" กล่าวอีกนัยหนึ่ง คุณสามารถกำหนดค่าอุปกรณ์จัดเก็บข้อมูลที่มีอยู่ ภายในหรือภายนอกเป็นอุปกรณ์ดิบ จากนั้นจึงบูตอุปกรณ์นั้น นี่อาจเป็นระบบปฏิบัติการใดก็ได้ รวมถึงการตั้งค่าดูอัลบูตหรือมัลติบูต ในทางเทคนิค คุณสามารถแมปไดรฟ์ระบบปฏิบัติการของคุณได้ (ใน Windows ซึ่งอาจเป็นพาร์ติชันที่มี C:\ อยู่) แล้วเปิดใช้งาน และนี่คืออันตรายอย่างยิ่งจากการใช้อุปกรณ์ดิบ การกำหนดค่าดิสก์ผิดพลาดนั้นง่ายเกินไป อักษรตัวหนึ่งผิด และคุณอาจทำลายดิสก์ที่มีอยู่และข้อมูลใดๆ ที่จัดเก็บไว้ในดิสก์นั้นอย่างไม่อาจกู้คืนได้ ดังนั้นคุณต้องใช้ความระมัดระวังอย่างยิ่งเมื่อลองใช้ฟังก์ชันการทำงานของอุปกรณ์ดิบ ฉันมีเพื่อนที่ทำลายแล็ปท็อปด้วยวิธีนี้ จริงๆ. คุณได้รับคำเตือนแล้ว ตอนนี้ให้เราดำเนินการต่อไป

สร้างไฟล์ดิสก์และแมปไปยังอุปกรณ์ดิบ

คำสั่งต่อไปนี้จะสร้างดิสก์ดิบ:

sudo VBoxManage createmedium disk --filename=[file.vmdk] --format=VMDK --variant=RawDisk --property RawDrive=[อุปกรณ์]

เรามีอะไรบ้างที่นี่?

องค์ประกอบที่สำคัญที่สุดสองประการคือ:

  • ชื่อไฟล์ - นี่คือไฟล์ (ในรูปแบบ VDMK) ซึ่ง VirtualBox จะจดจำอุปกรณ์ดิบ
  • RawDrive - นี่คืออุปกรณ์ดิบจริงที่เราต้องการแมปกับชื่อไฟล์

ตำแหน่งของไฟล์บนดิสก์นั้นไม่สำคัญนัก แต่การระบุอุปกรณ์ดิบที่ถูกต้องเป็นสิ่งสำคัญ ใน Linux คุณสามารถตรวจสอบรายการอุปกรณ์ของคุณด้วย fdisk คุณจำเป็นต้องทราบสัญลักษณ์ฮาร์ดดิสก์และขนาดที่ถูกต้อง คุณสามารถเริ่มต้นด้วย fdisk -l แบบง่ายๆ เพื่อดูอุปกรณ์ในเครื่องทั้งหมดของคุณ นี่จะแสดงอุปกรณ์ลูปแบ็คด้วย (เช่น snaps) จากนั้น เมื่อคุณมีความเข้าใจพื้นฐานเกี่ยวกับโทโพโลยีพื้นที่จัดเก็บข้อมูลของคุณแล้ว คุณก็สามารถจำกัดรายการของคุณให้แคบลงได้ ตัวอย่างเช่น:

sudo fdisk -l /dev/nvme*

ดิสก์ /dev/nvme0n1:931.51 GiB, 1000204886016 ไบต์, 1953525168 เซกเตอร์
รุ่นดิสก์:Samsung SSD 980 1TB
หน่วย:เซกเตอร์ 1 * 512 =512 ไบต์
ขนาดเซกเตอร์ (โลจิคัล/ฟิสิคัล):512 ไบต์ / 512 ไบต์
ขนาด I/O (ขั้นต่ำ/เหมาะสมที่สุด):16384 ไบต์ / 131072 ไบต์
ประเภทดิสก์เลเบล:gpt
ตัวระบุดิสก์:C096EC37-7278-4E24-98C6-6A3906628E91

ประเภทขนาดเซกเตอร์สิ้นสุดการเริ่มต้นอุปกรณ์
/dev/nvme0n1p1 2048 1050623 1048576 512M ระบบ EFI
/dev/nvme0n1p2 1050624 4550655 3500032 1.7G ระบบไฟล์ Linux
/dev/nvme0n1p3 4550656 1953523711 1948973056 929.3G ระบบไฟล์ Linux

และในทำนองเดียวกัน:

sudo fdisk -l /dev/sdb
ดิสก์ /dev/sdb:14.91 GiB, 16008609792 ไบต์, 31266816 เซกเตอร์
รุ่นดิสก์:สวิตช์ Cruzer
หน่วย:เซกเตอร์ 1 * 512 =512 ไบต์
ขนาดเซกเตอร์ (โลจิคัล/ฟิสิคัล):512 ไบต์ / 512 ไบต์
ขนาด I/O (ขั้นต่ำ/เหมาะสมที่สุด):512 ไบต์ / 512 ไบต์
ประเภทดิสก์เลเบล:gpt
ตัวระบุดิสก์:A674DC54-3E17-4C42-8B62-90E4DCE4AEB3
...

ในกรณีนี้ fdisk จะพิมพ์ข้อมูลโมเดลดิสก์ด้วย ซึ่งค่อนข้างมีประโยชน์ ด้วยวิธีนี้ การระบุและแยกแยะธัมบ์ไดรฟ์ภายนอกที่เชื่อมต่อ USB ออกจากฮาร์ดดิสก์ภายในจะง่ายขึ้นมาก ซึ่งคุณน่าจะต้องการหลีกเลี่ยงมากที่สุด ดิสทริบิวชั่นบางรุ่นยังเสนอวิธี GUI ในการดูข้อมูลอุปกรณ์:

การบูต VirtualBox จากไดรฟ์ USB:คำแนะนำทีละขั้นตอน

ตัวอย่างเช่น หากธัมบ์ไดรฟ์ของคุณถูกแมปกับ /dev/sdb (ใน Linux) คุณสามารถรันคำสั่งการแมปอุปกรณ์ดิบได้ดังนี้:

sudo VBoxManage createmedium disk --filename=./Rdisk.vmdk --format=VMDK --variant=RawDisk --property RawDrive=/dev/sdb

นี่คือจุดที่คุณต้องระมัดระวังเป็นพิเศษ เนื่องจากคุณต้องระบุไดรฟ์ USB อย่างถูกต้อง หากคุณแมปอุปกรณ์ผิด อาจเกิดปัญหาและข้อมูลสูญหายในภายหลัง

sudo VBoxManage createmedium disk --filename=./Rdisk.vmdk --format=VMDK --variant=RawDisk --property RawDrive=/dev/sdb
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
สร้างสื่อแล้ว UUID:041a84a8-9d9a-4ae3-a4a1-5393a24f6f7d

เมื่อคำสั่งเสร็จสิ้น ให้เปิด VirtualBox

เพิ่มดิสก์ใหม่ลงในรายการอุปกรณ์จัดเก็บข้อมูลที่มีอยู่

ขั้นตอนต่อไปคือการแนบดิสก์ที่สร้างขึ้นใหม่ คุณสามารถทำได้ผ่านเครื่องมือ Hard Disk Selector ใน VirtualBox คลิก เครื่องมือ> สื่อ> เพิ่ม ค้นหาไฟล์ VMDK และเพิ่ม แต่รอก่อน. เพื่อให้สามารถทำเช่นนี้ได้ คุณต้องมีสิทธิ์ที่ถูกต้อง แม้ว่าคุณสามารถเพิ่มดิสก์ได้ แต่เครื่องเสมือนก็อาจยังไม่เปิดใช้งาน และคุณอาจพบข้อผิดพลาดต่างๆ มากมาย เราจะแก้ไขปัญหานี้ในไม่ช้า สำหรับตอนนี้ สมมติว่าการอนุญาตนั้นถูกต้อง

การบูต VirtualBox จากไดรฟ์ USB:คำแนะนำทีละขั้นตอน

การบูต VirtualBox จากไดรฟ์ USB:คำแนะนำทีละขั้นตอน

การบูต VirtualBox จากไดรฟ์ USB:คำแนะนำทีละขั้นตอน

เมื่อคุณเพิ่มดิสก์แล้ว ให้เปิดการตั้งค่าเครื่องเสมือนของคุณ คลิกที่ Storage ตามค่าเริ่มต้น มีแนวโน้มว่าจะมีคอนโทรลเลอร์ SATA ถูกกำหนดไว้แล้ว โดยมีดิสก์เดียว (VDI) เลือก จากนั้นคลิกที่ไอคอน + สีน้ำเงิน เพื่อเพิ่มดิสก์ และเลือกไฟล์ VMDK หากไม่มีคอนโทรลเลอร์ SATA ให้คลิกที่ไอคอน + สีเขียวก่อน เพิ่มคอนโทรลเลอร์ SATA จากนั้นคลิกที่ไอคอน + สีเขียว และเพิ่มดิสก์ ในตัวอย่างด้านล่าง การตั้งค่า "ขั้นสุดท้าย" ของฉันประกอบด้วยดิสก์ที่กำหนดสองดิสก์ ได้แก่ Windows 11 หนึ่งดิสก์ (รูปแบบ VDI) และ Rdisk.vmdk ของฉัน (รูปแบบ VMDK) ฉันลบออปติคัลไดรฟ์เสมือนเริ่มต้นออก เนื่องจากฉันจะไม่บูตจากไฟล์ ISO

การบูต VirtualBox จากไดรฟ์ USB:คำแนะนำทีละขั้นตอน

การบูต VirtualBox จากไดรฟ์ USB:คำแนะนำทีละขั้นตอน

สิ่งที่ฉันต้องการทำมีดังนี้:ฉันได้สร้างสื่อการติดตั้ง Windows 11 ด้วย Rufus ซึ่งเป็นเครื่องมือเล็กๆ ที่ยอดเยี่ยม ซึ่งช่วยให้คุณปรับแต่งประสบการณ์การติดตั้งได้ กล่าวคือสามารถลบสิ่งไร้สาระบางอย่างที่คุณมักเห็นระหว่างการตั้งค่า Windows แต่รูฟัสเขียนสื่อพร้อมการกำหนดค่าลงในอุปกรณ์ภายนอกโดยเฉพาะ มันไม่ได้สร้างไฟล์ ISO

ดังนั้น เพื่อทดสอบว่า Rufus ทำงานได้หรือไม่ ฉันจำเป็นต้องบูตอุปกรณ์ USB ที่ไหนสักแห่ง และดูว่าได้อะไร ฉันสามารถทำเช่นนั้นได้บนกล่องจริง แต่นั่นไม่ใช่ตัวเลือกที่ง่ายเสมอไป โดยเฉพาะอย่างยิ่งหากคุณต้องการฟอร์แมตดิสก์และติดตั้งระบบที่นั่น เครื่องเสมือนเป็นสิ่งทดแทนที่สมบูรณ์แบบสำหรับการทดสอบ แต่จำเป็นต้องบูตจากไดรฟ์ USB แทนซีดีเสมือน (ไฟล์ ISO)

ดังนั้นในตัวอย่างข้างต้น เครื่องเสมือนของฉันมีดิสก์ Windows (ว่าง) รวมถึงอุปกรณ์ Raw ที่แนบมาด้วย ซึ่งเราจะใช้ระหว่างการติดตั้งเท่านั้น ในทางเทคนิค คุณอาจมีดิสก์ที่สามารถบูตได้หลายแผ่นต่ออยู่กับเครื่องเสมือน จากนั้นคุณต้องตรวจสอบให้แน่ใจว่าดิสก์เหล่านั้นบูตในลำดับที่ถูกต้องใน BIOS ของเครื่อง

ข้อผิดพลาดที่เป็นไปได้

เมื่อคุณสร้างดิสก์ดิบใหม่ การอนุญาตใน Linux จะเป็น 0600 และสิทธิ์การเป็นเจ้าของ root:root ซึ่งหมายความว่าคุณจะไม่สามารถเข้าถึงไฟล์นี้ได้ ไม่ต้องพูดถึงการใช้งานใน VirtualBox คุณต้องเปลี่ยนการอนุญาตโดยการเพิ่ม rwx สำหรับผู้ใช้รายอื่นหรือโดยการเปลี่ยนความเป็นเจ้าของ (ดีกว่า) บางอย่างเช่น:

sudo chown roger:roger file.vdmk

หรือบางที:

sudo chown roger:vboxusers file.vdmk

แต่นี่ยังไม่เพียงพอ คุณน่าจะพบข้อผิดพลาด VERR_ACCESS_DENIED:

การบูต VirtualBox จากไดรฟ์ USB:คำแนะนำทีละขั้นตอน

ปัญหาการอนุญาตในการเข้าถึงไฟล์สำหรับสื่อ 'path-to-your-vmdk-file' (VERR_ACCESS_DENIED)

รหัสผลลัพธ์:VBOX_E_FILE_ERROR (0X80BB0004)
ส่วนประกอบ:MediumWrap
อินเทอร์เฟซ:IMedium {ad47ad09-787b-44ab-b343-a082a3f2dfb1}
ผู้ถูกเรียก:IVirtualBox {7682d5eb-f00e-44f1-8ca2-99d08b1cd607}
สายเรียกเข้า RC:VBOX_E_OBJECT_NOT_FOUND (0X80BB0001)

เหตุผลก็คือแม้ว่าผู้ใช้ของคุณจะได้รับการตั้งค่าอย่างถูกต้องและคุณเป็นสมาชิกของกลุ่ม vboxusers คุณยังคงต้องอนุญาตให้ผู้ใช้ของคุณเข้าถึงอุปกรณ์ดิบแยกต่างหาก ( กลุ่มดิสก์) ซึ่งสามารถทำได้โดย:

sudo usermod -a -G ดิสก์ $USER

หลังจากนี้ คุณสามารถออกจากระบบและเข้าสู่ระบบอีกครั้งเพื่อให้การเปลี่ยนแปลงมีผล มีวิธีดำเนินการนี้โดยไม่ต้องออกจากระบบด้วย แต่นี่เป็นวิธีที่ง่ายที่สุดสำหรับคนส่วนใหญ่ อีกทางเลือกหนึ่งสำหรับปัญหาทั้งหมดนี้ทั้งใน Windows และ Linux คือการเริ่ม VirtualBox ด้วยสิทธิ์ระดับผู้ดูแลระบบ แต่นั่นไม่ใช่ความคิดที่ฉลาดโดยทั่วไป เพราะทุกสิ่งที่คุณทำ รวมถึงข้อผิดพลาดทั้งหมดจะสะท้อนถึงระดับสิทธิ์ที่สูงขึ้น

บูตและทดสอบ

ตอนนี้เราได้จัดเรียงปัญหาต่างๆ ทั้งหมดแล้ว มาดูกันว่าทุกอย่างทำงานได้ดี อันที่จริง ฉันสามารถเห็นหน้าจอบูตที่ปรับแต่งได้ ซึ่งเป็นข้อบ่งชี้ว่ารูฟัสกำลังทำงานอยู่ และในขั้นตอนการตั้งค่า ฉันมองเห็นทั้งฮาร์ดดิสก์ ฮาร์ดดิสก์ขนาดเล็กที่เป็นอุปกรณ์ดิบจริงๆ (ไดรฟ์ USB) และดิสก์เสมือนเปล่าขนาดใหญ่กว่า 100GB ซึ่งเป็นอุปกรณ์เป้าหมายการติดตั้งจริงๆ

การบูต VirtualBox จากไดรฟ์ USB:คำแนะนำทีละขั้นตอน

การบูต VirtualBox จากไดรฟ์ USB:คำแนะนำทีละขั้นตอน

ไดรฟ์สองตัว:ไดรฟ์ 0 คือไดรฟ์ USB ขนาด 16GB ที่มีสองพาร์ติชัน เราไม่ต้องการให้เป็นเป้าหมายการติดตั้ง (ดังนั้นความเสี่ยงที่เป็นไปได้ในการใช้อุปกรณ์ดิบใน VirtualBox) และไดรฟ์ 1 คือดิสก์เสมือนว่าง 100GB โดยไม่มีตารางพาร์ติชัน อย่างไรก็ตาม คุณต้องใช้ความระมัดระวังเป็นอย่างยิ่ง เมื่อมีตัวเลือกให้เลือกมากกว่าหนึ่งตัวเลือก

บทสรุป

เมื่อคุณเชี่ยวชาญบทช่วยสอนนี้แล้ว คุณก็สามารถเริ่มเล่นอย่างจริงจังได้ คุณสามารถทดสอบการตั้งค่าหลายดิสก์ได้ ลองบูตระบบปฏิบัติการที่มีอยู่แล้วบนอุปกรณ์ภายนอก (และอาจเป็นภายใน) ต่างๆ คุณยังสามารถสร้างอุปกรณ์ USB มัลติบูตและตรวจสอบว่าอุปกรณ์ทำงานอย่างถูกต้องใน VirtualBox หรือไม่ก่อนที่คุณจะลองใช้ฮาร์ดแวร์จริงอย่างจริงจัง ในกรณีเหล่านี้ทั้งหมด คุณต้องใช้ความระมัดระวัง เนื่องจากฟังก์ชันการทำงานของดิสก์ดิบจะทำลายขอบเขตการแยกระหว่างโฮสต์จริงและแขกเสมือน

หวังว่านี่จะมีประโยชน์ ขั้นตอนแรกในการใช้อุปกรณ์ดิบใน VirtualBox คือการระบุสื่อบันทึกข้อมูลที่ถูกต้องอย่างถูกต้อง หากคุณไม่รู้ว่าต้องทำอย่างไร หรือไม่แน่ใจ ให้หยุดเดี๋ยวนี้ จากนั้น เมื่อขั้นตอนนี้เสร็จสิ้น คุณจะต้องสร้างไฟล์ vmdk และแมปไฟล์กับอุปกรณ์ที่ถูกต้อง ถัดไป อาจมีปัญหาเกี่ยวกับการอนุญาตที่เป็นไปได้ และสุดท้าย คุณสามารถแนบดิสก์และบูตเครื่องเสมือนของคุณจากไดรฟ์ USB ได้ นั่นคือทั้งหมดสำหรับวันนี้ และหากคุณมีคำถามอื่นๆ เกี่ยวกับ VirtualBox โปรดบอกฉันสักสองสามบรรทัด และฉันอาจจะสร้างคำแนะนำใหม่ๆ ขึ้นมาใหม่ที่นี่และที่นั่น แล้วเจอกัน

ไชโย