ฉันค้นหาวิธีแก้ไขปัญหาของตัวเอง มันไม่ง่ายเลย สำหรับฉันในฐานะผู้ใช้ 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 นาทีแล้วบูต
แค่นั้นแหละ. ทางออกสำหรับปัญหาของฉันเอง