ฉันค้นหาวิธีแก้ไขปัญหาของตัวเอง มันไม่ง่ายเลย สำหรับฉันในฐานะผู้ใช้ 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 จะบูตจากซีดีเพื่ออ่านระบบปฏิบัติการที่ติดตั้งใหม่
เสร็จสิ้น. และเราสามารถเรียกใช้ระบบปฏิบัติการที่ติดตั้งใหม่ทั้งจากเครื่องเสมือนและจากเครื่องจริง
หมายเหตุสำคัญ
แม้ว่าเราจะสามารถบู๊ตได้จากสองทาง ฉันพบปัญหาบางอย่าง
เมื่อใดก็ตามที่เราบูตจากเครื่องจริงแล้วลองบู๊ตจากเครื่องเสมือนมันจะเกิดข้อผิดพลาด เนื่องจากสถานะไดรฟ์ทางกายภาพมีการเปลี่ยนแปลงโดยmedium.vmdkไม่รู้ตัว ดังนั้นเราต้องสร้างสื่อใหม่และเปลี่ยนแปลงการอนุญาตอีกครั้งเพื่อให้สามารถบูตจากเครื่องเสมือน boot.isoแต่เราไม่ต้องสร้างใหม่
เนื่องจากที่อยู่ MAC ของทั้งสองเครื่องนั้นแตกต่างกัน ระบบปฏิบัติการจะสับสนเมื่อพยายามกำหนดค่าเครือข่าย ในกรณีของฉันฉันติดตั้ง Ubuntu Server เป็นระบบปฏิบัติการใหม่และทุกครั้งที่ฉันบูตจากเครื่องที่แตกต่างกันมันจะให้ข้อความเช่น "รอการกำหนดค่าเครือข่าย ... " ประมาณ 2 นาทีแล้วบูต
แค่นั้นแหละ. ทางออกสำหรับปัญหาของฉันเอง