Bisakah saya memigrasikan Tamu VirtualBox Ubuntu ke Kotak Perangkat Keras * asli *?

13

Saya ingin mentransfer Ubuntu dari GuestBox 'VirtualBox Guest' ke nyata (logam dan keripik) ?

Bisakah ini dilakukan, dan langkah apa yang terlibat?

Peter.O
sumber

Jawaban:

7

Saya akan mencobanya dengan dd(jangan lupa mengganti nama perangkat seperti sdadengan nama perangkat Anda):

  1. Ganti semua uuids Anda /etc/fstabdengan hal-hal seperti /dev/sda1( sda= nomor hd tujuan!)
  2. update-grub2 && grub-install /dev/sda
  3. Simpan hdd virtual Anda di dalam VBox ke dalam File: dd if=/dev/sda /home/user/sda.img
  4. Salin Gambar ke disk (hdd eksternal, berbagi jaringan, dvd, ...)
  5. Kembalikan Gambar ke drive tujuan: dd if=/media/drive/sda.img of=/dev/sda

Masalah terbesar mungkin adalah bootloader (tetapi ada tutorial untuk ini bahkan di forum ini). Saya pernah menginstal ulang bootloader dengan melakukan instalasi baru Ubuntu (lebih disukai sama dengan yang Anda lakukan) dan kemudian ddpartisi lama di atas instalasi baru (dalam hal ini, Anda hanya akan dd /dev/sda1, tidak /dev/sda, yang juga termasuk bootloader dan semua partisi)

sBlatt
sumber
Saya bisa menangani dd. Saya telah menggunakannya sebelumnya dan tahu jika bukan merupakan awal dari pernyataan kondisional :) ... Untuk beberapa alasan, uuids dan grub membingungkan saya .. Mereka mungkin cukup sederhana, tapi sekali lagi saya mungkin terlalu .. Saya Mungkin akan menggunakan MBR dari instalasi (dummy) yang segar .. Rintangan terbesar bagi saya adalah untuk benar-benar menemukan partitons dari VM .. Bagaimana saya bisa dd dari partisi VM ke Host?
Peter.O
... sedikit lebih (saya mencoba mengedit ini ke dalam komentar saya sebelumnya, tetapi hasil edit tidak diizinkan!? .. misteri kecil lainnya):. . . Folder bersama VirtualBox tampaknya bergantung pada Addons yang tidak ada dalam menjalankan Live-CD, karena itu membutuhkan reboot.
Peter.O
Anda bisa dd ke folder jaringan, saya melakukan ini minggu lalu dan rasanya seperti 30MB / s. Jika Anda mengatur folder bersama di lingkungan live-cd Anda / windows / linux dan mengaktifkan jaringan bridged untuk VM ini akan berfungsi.
sBlatt
btw: dimungkinkan untuk menyalin seluruh Linux-Partition dengan cp (+ beberapa argumen untuk menjaga permissoins! Sangat penting! Saya pikir itu -p atau --preserve = all). Saya melakukan ini sekali untuk menyalin kembali gambar setelah mengubah ukuran partisi (jadi saya memasang file dd-Image dan melakukan cp)
sBlatt
Maaf karena sangat bodoh tentang hal ini, tetapi saya harus kehilangan beberapa titik yang sangat sederhana ... Semua yang saya baca tampaknya menyiratkan bahwa NAT memungkinkan Tamu untuk mengakses Host secara default (koneksi ke arah lain perlu Bridging) .. Oke Saya sudah menebak tiga (lebih seperti tiga puluh!). Saya telah berhasil mengakses Folder Bersama VBox hanya ketika Addons Tamu diinstal. Saya tidak dapat menginstal Addons ini dalam menjalankan LiveCD, jadi saya terjebak lagi. Bagaimana cara mengakses sistem file Host yang terhubung dengan NAT dari Tamu (tanpa Addons)? Saya kira saya perlu melakukan sesuatu pada tuan rumah, tetapi saya tidak tahu apa itu?
Peter.O
1

Belum mencoba ini sendiri, tetapi deskripsi tampaknya cukup realistis untuk dicoba.

Serge Broslavsky
sumber
Artikel yang Anda sebutkan berada di jalur yang sama dengan tempat yang ingin saya tuju. Jika saya mengabaikan masalah Fedora LVM-nya, itu hampir menyelesaikan salah satu masalah saya: Cara memasukkan partion VM ke dalam lingkungan Host. Dia menyebutkan alat VirualBox VBoxManage yang memungkinkan pemasangan gambar disk VM mentah pada Host. Namun ada masalah dengan artikel ini karena berkaitan dengan Windows Host. Nama perintah tidak apa-apa, tetapi tidak ada argumen yang dikenali ... tapi saya menganggap hal yang sama tersedia untuk Linux ... Apakah ada yang tahu sintaksisnya?
Peter.O
Coba jalankan "Perintah internal VBox" - itu mencetak beberapa informasi penggunaan. Tampaknya cukup.
Serge Broslavsky
1

1> lakukan tar OS virtualBox Anda

2> mulai dengan distro langsung

3> untar virtualBox OS Anda di partisi target / s (/ dev / sda1 misalnya)

4> buat partisi tersebut menjadi bootable (fdisk dapat membantu Anda): # fdisk / dev / sda Command (m for help): a (a = toggle a bootable flag) Nomor partisi (1-4): 1 (1 = / dev / sda1) Perintah (m untuk bantuan): q (q = keluar)

5> instal grub ke mbr (https://wiki.ubuntu.com/Grub2) # mount / dev / sda1 / mnt / # mount --bind / dev / mnt / dev # mount --bind / proc / mnt / proc # mount --bind / sys / mnt / sys # cd / mnt && chroot. # (chroot) update-grub # (chroot) grub-install / dev / sda (BUKAN / dev / sda1!) # (chroot) grub-install --recheck / dev / sdX

6> Nikmati ...

daniele
sumber
1
Untuk tar OS VirtualBox saya terdengar sangat mudah ... tetapi tidak untuk saya ... Misalnya; Di mana saya harus menaruhnya? Saya berasumsi bahwa cara yang tepat untuk tar sistem file adalah tidak menggunakannya ... jadi saya mem-boot VM melalui LiveCD ... Ini memberi saya akses ke drive VM melalui LiveCD / media .... tetapi bagaimana cara mendapatkan data dari VM .. VirtualBox Shared Folder memerlukan GuestAddons, yang membutuhkan reboot, yang restart Live CD untuk state ada-Addons ... Atau harus saya melewatkan sesuatu tentang VirtualBox Shared Folder /
Peter .O
Anda dapat tar (rsync juga) sistem langsung bahkan jika sedang berjalan (ini adalah Linux ...):
daniele
Anda dapat tar sistem secara langsung bahkan jika sedang berjalan. Ini adalah Linux ;-). Pertama instal paket ini: sshfs ( fuse.sourceforge.net/sshfs.htm ) dan pasang direktori nyata di dalam virtualbox. Misalnya Anda dapat menggunakan, di dalam virtualbox seperti yang saya katakan, sebuah pendrive (dipasang, izinkan saya mengatakan, di / media / flashdisk) dengan cara ini: # sshfs [email protected]: / media / pendrive / mnt Setelah tar langsung dari Anda MENJALANKAN virtualbox ke flashdisk (Linux dapat): # cd / # tar -cvpzf /mnt/backup.tgz --exclude = / proc / --exclude = / hilang + ditemukan / --exclude = / mnt / --exclude = / sys / /
daniele
1

Apa tepatnya dari pemasangan yang ingin Anda migrasi? Jika yang Anda pedulikan hanyalah data dan preferensi pengguna, Anda mungkin bisa menyalin semuanya dari direktori home Anda di VM ke sistem file di luar VM (drive kunci, misalnya), salin file-file itu ke instal Ubuntu baru dan kemudian instal ulang semua program yang telah Anda instal pada VM. Tergantung pada seberapa banyak Anda telah menyesuaikan instalasi VM, versus berapa banyak masalah solusi lain di sini.

JPL
sumber
Saya menggunakan Ubuntu (pengguna Linux pertama kali) pada perangkat keras nyata. Saya telah belajar banyak , tetapi sistem saya telah mengumpulkan banyak kekacauan. Saya telah mengubah satu pengaturan dan lupa di mana saya mengaturnya, dll. Ide saya adalah menggunakan pengalaman (minimal) yang saya miliki sekarang, dan membangun sistem VM paralel, tanpa kesalahan, dan kemudian hanya mengocoknya ke perangkat keras utama . Saya dapat mengambil waktu saya tentang hal itu dan masih bereksperimen dengan yang sekarang. Ini juga merupakan proyek "pembelajaran" yang bagus ... tapi saya merasa seperti telah menggigit sedikit lebih banyak daripada yang saya bisa mengunyah :) ... sampai di sana perlahan-lahan ...
Peter.O
1

Saya suka menggunakan rsync untuk membuat cadangan sistem saya. Ini bagus untuk direktori home directroy atau ect tetapi mungkin bukan yang Anda cari dalam hal migrasi sistem lengkap. Untuk menggunakan rsync, Anda harus menginstal ubuntu di kedua sistem. Perbarui keduanya sehingga paket-paketnya sama dan berada pada level yang sama (ini tidak wajib tetapi memang membuat semuanya lebih mudah). Kemudian, untuk menyalin dir rumah Anda dari server1 ke server2 Anda dapat menjalankan yang berikut di server1:

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

Hal yang saya sukai dari ini adalah rsync akan menghitung perbedaan antara direktori dan mentransfer perubahan daripada segalanya. Dengan cara ini Anda dapat menjaga cadangan Anda saat ini dengan berjalan di server2 (ke cadangan di server1):

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

hth

spinlock
sumber
Terima kasih, saya telah menggunakan rsync untuk mencadangkan partisi non-OS saya (mis. Data, seperti musik, dll). Saya juga suka cara rsync bekerja; sangat efisien. "Masalah" utama saya adalah bahwa saya tidak tahu apakah salinan file sederhana dari VM ke partisi yang setara akan berfungsi. Misalnya. Bagaimana Ubuntu menangani HARDWARE yang berbeda. Apakah itu secara otomatis mendeteksi dan menyesuaikan pada saat boot? Windows pasti tidak mau! dan saya belum yakin bagaimana menangani mount poin: Saya tidak ingin rsync drive TeraByte saya menyeberang ke partisi OS; dan GRUB memintaku keluar. Ini adalah hal-hal kecil yang menyenangkan yang belum cukup saya ketahui tentang ...
Peter.O