ใช้ Pariition ทางกายภาพของฮาร์ดไดรฟ์เป็น VirtualBox VM และเป็นพาร์ติชันที่สามารถบูตได้


11

เป็นไปได้หรือไม่ที่จะติดตั้ง Ubuntu OS ด้วย VirtualBox โดยใช้พาร์ติชั่นฮาร์ดไดรฟ์ทางกายภาพจากนั้นทำการบูตได้

สิ่งที่ฉันต้องการคือ Ubuntu OS ที่ฉันติดตั้งใน VirtualBox สามารถเข้าถึงได้และสามารถบู๊ตได้ทั้งจากเครื่องจริงและ VirtualBox VM (ไม่ใช่ในเวลาเดียวกันแน่นอน) ดังนั้นบางครั้งฉันสามารถบูตเป็นเครื่องเสมือนและบางครั้งฉันสามารถบูตเป็นเครื่องจริง (เป็นบูตคู่กับระบบปฏิบัติการหลักของฉันซึ่งเป็น Linux Mint)

หลังจากอ่านบทความเกี่ยวกับเรื่องนี้แล้วนี่คือลิงค์:

  1. โอนย้ายจากเครื่องเสมือน (VM) ไปยังระบบจริง
  2. การใช้ฮาร์ดดิสก์โฮสต์ดิบจากแขก
  3. การใช้ฟิสิคัลฮาร์ดไดรฟ์ด้วย VirtualBox VM
  4. VirtualBox: การใช้ฟิสิคัลพาร์ติชันเป็นไดรฟ์เสมือน

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

มันหมายความว่าข้อมูลทั้งหมดในฮาร์ดไดรฟ์ของฉัน (ไม่ใช่แค่พาร์ติชัน) จะเสียหายหรือไม่?

แก้ไข

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

คำตอบ:


9

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

ติดตั้ง Ubuntu OS ใหม่

ติดตั้ง Ubuntu OS ควบคู่กับ OS หลักของคุณ ในกรณีของฉันมันเป็นลินุกซ์มิ้นต์ แต่ฉันไม่เห็นความแตกต่างในกระบวนการระหว่างสะระแหน่และ Ubuntu เนื่องจากมินต์ใช้ Ubuntu

สร้างไฟล์ขนาดกลางสำหรับ Virtual Box เพื่ออ่านระบบปฏิบัติการใหม่

หลังจากติดตั้งเสร็จแล้ว คุณต้องสร้างสื่อสำหรับ VirtualBox เพื่ออ่านพาร์ติชันซึ่งมี Ubuntu OS ที่ติดตั้งใหม่ วิธีที่คุณทำเช่นนี้:

VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sdX -partitions Y,Y

Xฮาร์ดไดรฟ์ของคุณอยู่ที่ไหนและYหมายเลขพาร์ริชัน อย่ารวมพาร์ติชันที่มีการบูตหลักของคุณ เนื่องจากเราต้องการสื่อการบูตที่แตกต่างกันสำหรับระบบปฏิบัติการใหม่ที่ไม่มีการบูตระบบปฏิบัติการหลัก คุณอาจต้องเรียกใช้เป็นรูท

สร้าง Medium for Virtual Box เพื่อบูตจากระบบปฏิบัติการใหม่

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

เราจำเป็นต้องสร้างโฟลเดอร์ชั่วคราวสำหรับการสร้างไฟล์บูต iso ดังนั้นเมื่อ Mint พร้อมที่จะทำงาน สร้างโฟลเดอร์ ฉันคิดว่าเราทำสิ่งนี้ในเดสก์ท็อป เราจะทำสิ่งนี้:

  • ไปที่เดสก์ท็อป

  • สร้างโฟลเดอร์ใหม่และตั้งชื่อ "iso"

  • เปิดโฟลเดอร์ iso นั้นและสร้างโฟลเดอร์ใหม่อีกครั้งชื่อ "boot"

  • เปิดโฟลเดอร์บูตนั้นและสร้างโฟลเดอร์ใหม่อีกครั้งชื่อ "ด้วง"

    หากเรากำลังทำสิ่งนี้ผ่านทางเทอร์มินัลสิ่งที่เราต้องทำก็แค่พิมพ์บรรทัดนี้แล้วกด Enter

    mkdir -p ~/Desktop/iso/boot/grub
    

    เทอร์มินัลเป็นเครื่องมือที่ยอดเยี่ยมหากเรารู้ว่าเรากำลังทำอะไร! ;)

  • เมื่อสร้างโฟลเดอร์แล้วเราจำเป็นต้องคัดลอกไฟล์บูต Ubuntu OS ใหม่ไปยังโฟลเดอร์นั้น ดังนั้นเปิดพาร์ทิชันที่เราติดตั้ง Ubuntu OS และคัดลอกไฟล์ทั้งหมดจากการ/usr/lib/grub/i386-pc/ ~/Desktop/iso/boot/grubและคัดลอกไฟล์ทั้งหมดจากการ/boot/grub/grub.cfg~/Desktopiso/boot/grub

    อีกครั้งถ้าขั้นตอนนี้ทำผ่านเทอร์มินัลเราควรทำดังนี้:

    cp /usr/lib/grub/i386-pc/* ~/Desktop/iso/boot/grub
    
    cp /boot/grub/grub.cfg ~/Desktop/iso/boot/grub
    
  • เปิด grub.cfg ~/Desktop/iso/boot/grub/grub.cfgด้วยโปรแกรมแก้ไขข้อความ คำเตือนไม่ให้ผิดพลาดใด ๆ /boot/grub/grub.cfgหนึ่งที่คุณจะแก้ไขที่นี่ไม่ได้เป็นหนึ่งในของคุณ หากคุณแก้ไขล่าสุดที่ฉันกล่าวถึงการบูตระบบปฏิบัติการหลักของคุณจะล้มเหลว

  • เมื่อเปิด grup.cfg ลบmenuentryที่ไม่เกี่ยวข้องกับ Ubuntu OS ใหม่ที่เราติดตั้ง มันมักจะมีลักษณะเช่นนี้:

    ### Begin /etc/grub.d/your_main_os ###
    menuentry 'The text displayed in boot menu' {
        ----
        some code we don't need understand for this
        ----
    }
    ### End /etc/grub.d/your_main_os  ###
    

    ลบรายการเมนูทุกรายการที่ไม่เกี่ยวข้องกับ Ubuntu OS ใหม่ที่เราติดตั้งไว้ เราไม่ต้องการให้มีอยู่ใน VirtualBox ใช่ไหม?

  • ถัดไปแปลงโฟลเดอร์พร้อมไฟล์ทั้งหมดรวมเป็น iso ด้วยสิ่งนี้:

    grub-mkrescue -o boot.iso ~/Desktop/iso
    

    หมายเหตุ:หากคุณพบข้อผิดพลาดขณะทำเช่นนี้คุณจะต้องติดตั้งxorrisoก่อน ด้วยสิ่งนี้:

    sudo apt-get install xorriso
    
  • มีการสร้างไฟล์ Iso สำหรับการบูท มันจะดีถ้าเราใส่ไฟล์ iso ในโฟลเดอร์เดียวกันกับไฟล์ขนาดกลางที่เราสร้างขึ้น

ตั้งค่า Virtual Machine ให้สามารถบู๊ตระบบปฏิบัติการ Ubuntu ได้อย่างแน่นอน

เราได้สร้างสื่อเพื่ออ่าน OS ที่ติดตั้งใหม่และเราได้สร้างมันเป็นบูทโหลดเดอร์สำหรับ VirtualBox อย่างอิสระ สิ่งสุดท้ายคือการกำหนดค่ากล่องเสมือนควรทำอย่างไร

  • medium.vmdkไปที่ที่เราใส่ของเรา เปิดเทอร์มินัลแล้วทำสิ่งนี้:

    chmod -v 666 medium.vmdk
    
  • เป็นการเปลี่ยนรูทmedium.vmdkและการboot.isoอนุญาตให้ใช้ไฟล์ เราจะเป็นเจ้าของไฟล์เหล่านั้น

  • เปิด VirtualBox สร้างเครื่องใหม่ เมื่อตัวเลือกฮาร์ดไดรฟ์มีตัวเลือกให้เลือกuse an existing virtual hard driveและเลือกmedium.vmdk

  • เสร็จสิ้น แต่ยังไม่ได้เริ่ม เมื่อเลือกเครื่องใหม่ให้เปิดการตั้งค่า

  • ในส่วนการจัดเก็บถ้าไม่มีที่เก็บซีดีให้สร้างใหม่ จากนั้นทำการเมานต์boot.isoที่เราสร้างขึ้นในที่เก็บซีดีนั้น

  • ก่อนปิดการตั้งค่าให้ไปที่ส่วนระบบเพื่อให้แน่ใจ ที่เก็บข้อมูลซีดีที่มีboot.isoอยู่จะถูกอ่านก่อนฮาร์ดดิสก์ ด้วยวิธีนี้ Virtual Box จะบูตจากซีดีเพื่ออ่านระบบปฏิบัติการที่ติดตั้งใหม่

  • เสร็จสิ้น. และเราสามารถเรียกใช้ระบบปฏิบัติการที่ติดตั้งใหม่ทั้งจากเครื่องเสมือนและจากเครื่องจริง

หมายเหตุสำคัญ

แม้ว่าเราจะสามารถบู๊ตได้จากสองทาง ฉันพบปัญหาบางอย่าง

  1. เมื่อใดก็ตามที่เราบูตจากเครื่องจริงแล้วลองบู๊ตจากเครื่องเสมือนมันจะเกิดข้อผิดพลาด เนื่องจากสถานะไดรฟ์ทางกายภาพมีการเปลี่ยนแปลงโดยmedium.vmdkไม่รู้ตัว ดังนั้นเราต้องสร้างสื่อใหม่และเปลี่ยนแปลงการอนุญาตอีกครั้งเพื่อให้สามารถบูตจากเครื่องเสมือน boot.isoแต่เราไม่ต้องสร้างใหม่

  2. เนื่องจากที่อยู่ MAC ของทั้งสองเครื่องนั้นแตกต่างกัน ระบบปฏิบัติการจะสับสนเมื่อพยายามกำหนดค่าเครือข่าย ในกรณีของฉันฉันติดตั้ง Ubuntu Server เป็นระบบปฏิบัติการใหม่และทุกครั้งที่ฉันบูตจากเครื่องที่แตกต่างกันมันจะให้ข้อความเช่น "รอการกำหนดค่าเครือข่าย ... " ประมาณ 2 นาทีแล้วบูต

แค่นั้นแหละ. ทางออกสำหรับปัญหาของฉันเอง


1
สิ่งที่ฉันต้องการทำวันนี้ แต่ในทางกลับกันให้บูตระบบปฏิบัติการ windows ของฉันจากฟิสิคัลพาร์ติชัน ตะเข็บเหมือนฉันสามารถไปทางอื่นด้วย
nelaaro

@nelaaro ฉันพยายามทำเช่นเดียวกัน ฉันเป็นฮาร์ดดิสก์ที่ติดตั้ง windows10 ซึ่งฉันได้เชื่อมต่อกับเครื่อง Ubuntu 14.04 Ubuntu เป็นโฮสต์ของฉันจากนี้ฉันต้องการเรียกใช้ Virtualbox VM ของ Windows10 ของฉัน ฉันสร้างไฟล์ rawvmdk แต่ไม่สามารถบูตได้ ตามคำตอบนี้ฉันควรสร้างไฟล์ ISO แต่ iso สร้างผ่านคำสั่งด้านบนทำให้ฉันด้วงและไม่สามารถบูตได้จริงๆ คุณช่วยได้ไหม
ฟานี

1
@nelaaro ฉันได้สร้างคำถามแยกต่างหากเกี่ยวกับเรื่องนี้: askubuntu.com/questions/944509/…โปรดช่วยฉันด้วย
ฟานี
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.