ฉันสามารถย้าย VirtualBox Ubuntu Guest ไปยังกล่องฮาร์ดแวร์ * จริงได้หรือไม่?


13

ฉันต้องการโอน Ubuntu จาก 'VirtualBox Guest Guest ไปยังคอมพิวเตอร์จริง (โลหะและชิป) หรือไม่?

สามารถทำได้และมีขั้นตอนอะไรบ้างที่เกี่ยวข้อง?

คำตอบ:


7

ฉันจะลองด้วยdd(อย่าลืมเปลี่ยนชื่ออุปกรณ์เช่นsdaชื่ออุปกรณ์ของคุณ):

  1. แทนที่ uuids ทั้งหมดของคุณ/etc/fstabด้วยสิ่งต่าง ๆ เช่น/dev/sda1( sda= หมายเลข hd ปลายทาง!)
  2. update-grub2 && grub-install /dev/sda
  3. บันทึก hdd เสมือนของคุณภายใน VBox เป็นไฟล์: dd if=/dev/sda /home/user/sda.img
  4. คัดลอกอิมเมจไปยังดิสก์ (External hdd, แชร์เครือข่าย, dvd, ... )
  5. กู้คืนอิมเมจไปที่ไดรฟ์ปลายทาง: dd if=/media/drive/sda.img of=/dev/sda

ปัญหาที่ใหญ่ที่สุดอาจเป็น bootloader (แต่มีบทเรียนสำหรับเรื่องนี้แม้ในฟอรั่มนี้) ผมเคยติดตั้งใหม่ bootloader ด้วยการทำสดติดตั้งอูบุนตู (โดยเฉพาะเช่นเดียวกับคนที่คุณ dd'ed) และจากนั้นddพาร์ทิชันที่เก่ากว่าสดติดตั้ง (ในกรณีนี้คุณจะเพียงdd /dev/sda1ไม่/dev/sdaซึ่งยังรวมถึง bootloader และ พาร์ติชันทั้งหมด)


ฉันสามารถจัดการวว ฉันเคยใช้มาก่อนและรู้ว่าถ้าไม่ใช่จุดเริ่มต้นของคำสั่งแบบมีเงื่อนไข :) ... ด้วยเหตุผลบางอย่าง uuids และด้วงทำให้ยุ่งเหยิงฉัน .. พวกเขาอาจจะค่อนข้างง่าย แต่จากนั้นอีกครั้งฉันก็อาจจะเกินไป .. ฉัน ฉันจะใช้ MBR จากการติดตั้งใหม่ (บ้า ๆ บอ ๆ ) .. อุปสรรค์ที่ใหญ่ที่สุดสำหรับฉันคือการใช้พาร์ติชั่นจาก VM อย่างแท้จริงฉันจะ dd จากพาร์ติชั่น VM ไปยังโฮสต์ได้อย่างไร?
Peter.O

... อีกเล็กน้อย (ฉันพยายามที่จะแก้ไขสิ่งนี้ในความคิดเห็นก่อนหน้าของฉัน แต่การแก้ไขไม่ได้รับอนุญาต!? .. ปริศนาลึกลับอีกเล็กน้อย): . . โฟลเดอร์ที่ใช้ร่วมกันของ VirtualBox ดูเหมือนจะพึ่งพา Addons ซึ่งไม่ได้อยู่ในการทำงาน Live-CD เนื่องจากต้องมีการรีบูต
Peter.O

คุณสามารถไปยังโฟลเดอร์เครือข่ายได้ฉันทำเมื่อสัปดาห์ที่แล้วและมันก็เหมือน 30MB / s หากคุณตั้งค่าโฟลเดอร์ที่แชร์ในสภาพแวดล้อมแบบ live-cd / windows / linux ของคุณและเปิดใช้งานเครือข่ายบริดจ์สำหรับ VM สิ่งนี้จะทำงานได้
sBlatt

btw: มันเป็นไปได้ที่จะคัดลอกทั้งลินุกซ์ - พาร์ติชั่นด้วย cp (+ มีข้อโต้แย้งบางอย่างเพื่อเก็บค่า Permissoins! สำคัญมาก! ฉันคิดว่ามันเป็น -p หรือ --preserve = all) ฉันทำสิ่งนี้เพียงครั้งเดียวเพื่อคัดลอกรูปภาพหลังจากปรับขนาดพาร์ติชัน (ดังนั้นฉันจึงติดตั้งไฟล์ dd-Image และทำ cp)
sBlatt

ขออภัยที่เป็นใบ้เกี่ยวกับเรื่องนี้ แต่ฉันจะต้องหายไปบางจุดที่ง่ายอย่างไม่น่าเชื่อ ... ทุกสิ่งที่ฉันอ่านดูเหมือนจะหมายความว่า NAT ช่วยให้แขกเข้าถึงโฮสต์โดยค่าเริ่มต้น (การเชื่อมต่อในทิศทางอื่นต้องการ Bridging) .. ฉันเดามาแล้วสามครั้ง (มากกว่าสามสิบ!) ผมเคยประสบความสำเร็จในการเข้าถึงโฟลเดอร์ที่ใช้ร่วมกันของ VBox เฉพาะเมื่อมีการติดตั้ง Guest Addons ฉันไม่สามารถติดตั้ง Addons เหล่านี้ในการเรียกใช้ LiveCD ดังนั้นฉันจึงติดอีกครั้ง ฉันจะเข้าถึงระบบของโฮสต์ที่เชื่อมต่อกับ NAT ได้อย่างไรจากแขก (ไม่มีส่วนเสริม) ฉันคิดว่าฉันต้องทำอะไรบางอย่างในโฮสต์ แต่ฉันไม่ทราบว่ามันคืออะไร?
Peter.O

1

ไม่ได้พยายามนี้เอง แต่คำอธิบายที่ดูเหมือนว่าจะมีเหตุผลพอที่จะลอง


บทความที่คุณพูดถึงอยู่ในเส้นทางที่คล้ายกับที่ฉันต้องการไป ถ้าฉันไม่สนใจปัญหา Fedora LVM ของเขามันเกือบจะแก้ปัญหาข้อใดข้อหนึ่งของฉันได้อย่างไร: วิธีนำ VM partion เข้าสู่ Host environmnet เขากล่าวถึงเครื่องมือVirualBox VBoxManageซึ่งทำให้การติดตั้งอิมเมจดิสก์ VM แบบดิบบนโฮสต์ อย่างไรก็ตามมีปัญหากับบทความนี้ตราบเท่าที่เกี่ยวข้องกับโฮสต์ Windows ชื่อคำสั่งนั้นโอเค แต่ไม่มี args ใดที่จำได้ แต่ฉันคิดว่ามันเหมือนกันสำหรับ Linux ... มีใครรู้ไวยากรณ์บ้างไหม?
Peter.O

ลองเรียกใช้ "คำสั่งภายใน VBoxManage" - พิมพ์ข้อมูลการใช้งานบางอย่างออกมา อาจดูเหมือนว่าเพียงพอ
Serge Broslavsky

1

1> ทำ tar ของระบบปฏิบัติการ VirtualBox ของคุณ

2> เริ่มต้นด้วย distro สด

3> untar virtualBox OS ของคุณในพาร์ติชั่นเป้าหมาย / s (/ dev / sda1 เป็นต้น)

4> ทำให้พาร์ติชันที่สามารถบูตได้ (fdisk สามารถช่วยคุณได้): # fdisk / dev / sda คำสั่ง (m เพื่อขอความช่วยเหลือ): a (a = สลับการตั้งค่าสถานะที่สามารถบูตได้) หมายเลขพาร์ติชัน (1-4): 1 (1 = / dev / sda1) คำสั่ง (m เพื่อขอความช่วยเหลือ): q (q = exit)

5> ติดตั้งด้วงเข้าไปใน mbr (https://wiki.ubuntu.com/Grub2) # mount / dev / sda1 / mnt / # mount - ผูก / dev / mnt / dev # mount - ผูก / proc / mnt / proc # mount - ผูก / sys / mnt / sys # cd / mnt && chroot # (chroot) update-grub # (chroot) grub-install / dev / sda (ไม่ / dev / sda1!) # (chroot) grub-install --recheck / dev / sdX

6> เพลิดเพลินกับ ...


1
เพื่อtar VirtualBox OS ของฉันฟังดูง่ายมาก ... แต่ไม่ใช่สำหรับฉัน ... เช่น; ฉันจะไปที่ใด ฉันคิดว่าวิธีที่เหมาะสมในการtarระบบไฟล์คือไม่ได้ใช้ ... ดังนั้นฉันจึงบูต VM ผ่าน LiveCD ... นี่ทำให้ฉันสามารถเข้าถึงไดรฟ์ของ VM ผ่านทาง LiveCD's / media .... แต่ ฉันจะนำข้อมูลออกจาก VM ได้อย่างไร .. SharedBox ของ VirtualBox ต้องการ GuestAddons ซึ่งต้องมีการรีบูตซึ่งจะเริ่มการทำงานของ Live CD ให้เป็นสถานะที่ไม่มีแอดออน ... หรือฉันพลาดบางสิ่งเกี่ยวกับ VirtualBox's Shared Folders /
Peter .O

คุณสามารถ tar (rsync ยัง) ระบบได้โดยตรงแม้ว่ามันทำงาน (นี้เป็นลินุกซ์ ... ):
Daniele

คุณสามารถ tar ระบบได้โดยตรงแม้ว่าจะทำงานอยู่ก็ตาม นี่คือ Linux ;-) ก่อนติดตั้งแพคเกจนี้: sshfs ( fuse.sourceforge.net/sshfs.htm ) และติดตั้งไดเรกทอรีจริงภายใน virtualbox ตัวอย่างเช่นคุณสามารถใช้ภายใน virtualbox อย่างที่ฉันบอกว่า pendrive (เมาท์ให้ฉันพูดใน / media / pendrive) ด้วยวิธีนี้: # sshfs root@10.0.2.2: / media / pendrive / mnt หลังจาก tar โดยตรงจากคุณ เรียกใช้ virtualbox ไปยัง pendrive (Linux สามารถ): # cd / # tar -cvpzf /mnt/backup.tgz --exclude = / proc / --exclude = / สูญหาย + พบ / --exclude = / mnt / --exclude / sys / /
daniele

1

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


ฉันใช้ Ubuntu (ผู้ใช้ Linux เป็นครั้งแรก) บนฮาร์ดแวร์จริง ฉันเรียนรู้มากแต่ระบบของฉันรวบรวมความยุ่งเหยิงมากมาย ฉันได้ปรับแต่งการตั้งค่าหนึ่งและลืมตำแหน่งที่ฉันตั้งไว้ ฯลฯ ความคิดของฉันคือการใช้ประสบการณ์ (ขั้นต่ำ) ที่ฉันมีตอนนี้และสร้างระบบ VM แบบขนานโดยไม่มีข้อผิดพลาดจากนั้นเพียงสับเปลี่ยนมันกับฮาร์ดแวร์หลัก . ฉันสามารถใช้เวลากับมันและยังคงทดลองกับสิ่งที่อยู่ในปัจจุบัน มันเป็นโครงการ "การเรียนรู้" ที่ดี ... แต่ฉันรู้สึกเหมือนฉันถูกกัดมากกว่าที่ฉันสามารถเคี้ยวได้ :) ... ไปถึงที่นั่นอย่างช้าๆ ...
Peter.O

1

ฉันชอบที่จะใช้ rsync เพื่อสำรองระบบของฉัน นี่เป็นสิ่งที่ดีสำหรับโฮมไดเร็คตอรี่หรือไดเร็กตอรี่ ect แต่อาจไม่ใช่สิ่งที่คุณกำลังมองหาในแง่ของการโยกย้ายระบบอย่างสมบูรณ์ ในการใช้ rsync คุณจะต้องติดตั้ง Ubuntu บนทั้งสองระบบ อัปเดตทั้งคู่เพื่อให้แพ็คเกจเหมือนกันและอยู่ในระดับเดียวกัน (ไม่บังคับ แต่ทำให้ง่ายขึ้น) จากนั้นเพื่อคัดลอก dir ที่บ้านของคุณจาก server1 ไปยัง server2 คุณสามารถเรียกใช้ต่อไปนี้บน server1:

$rsync -avz /home/username/ username@server2:/home/username/

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

$rsync -avz /home/username/ username@server1:/home/username/

HTH


ขอบคุณฉันใช้ rsync เพื่อสำรองพาร์ติชันที่ไม่ใช่ระบบปฏิบัติการของฉัน (เช่น .. ข้อมูลเช่นเพลง ฯลฯ ) ฉันก็ชอบวิธี rsync ทำงาน; มีประสิทธิภาพมาก "ปัญหา" หลักของฉันคือฉันไม่ทราบว่าจะคัดลอกไฟล์ง่าย ๆ จาก VM ไปยังพาร์ติชันที่เทียบเท่าได้หรือไม่ เช่น. Ubuntu จะจัดการกับฮาร์ดแวร์ที่แตกต่างกันอย่างไร มันตรวจจับมันโดยอัตโนมัติและปรับในการบูทเครื่องหรือไม่? Windows แน่นอนจะไม่! และฉันยังไม่แน่ใจว่าจะจัดการกับจุดเชื่อมต่อได้อย่างไร: ฉันไม่ต้องการซิงค์ไดรฟ์ TeraByte ของฉันข้ามพาร์ติชันระบบปฏิบัติการ และด้วงหมุนฉันออก นี่เป็นสิ่งที่สนุกเล็กน้อยที่ฉันยังไม่รู้ไม่มากนัก ..
Peter.O
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.