Czy mogę migrować gościa VirtualBox Ubuntu na * prawdziwe * urządzenie?

13

Chcę przenieść Ubuntu z „urządzenia” VirtualBox Guest na prawdziwy komputer (metalowy i z chipami)?

Czy można to zrobić i jakie kroki należy podjąć?

Peter.O
źródło

Odpowiedzi:

7

Wypróbuję to dd(nie zapomnij zastąpić nazw urządzeń takich jak sdanazwa urządzenia):

  1. Zastąp wszystkie płyny w twoich /etc/fstabrzeczami takimi jak /dev/sda1( sda= docelowy numer hd!)
  2. update-grub2 && grub-install /dev/sda
  3. Zapisz wirtualny dysk twardy w VBox do pliku: dd if=/dev/sda /home/user/sda.img
  4. Skopiuj obraz na dysk (zewnętrzny dysk twardy, udział sieciowy, dvd, ...)
  5. Przywróć obraz na dysk docelowy: dd if=/media/drive/sda.img of=/dev/sda

Największym problemem może być bootloader (ale są do tego tutoriale nawet na tym forum). Raz ponownie zainstalowałem program ładujący, wykonując świeżą instalację Ubuntu (najlepiej taką samą jak ta, którą zrobiłeś), a następnie ddstarą partycję nad świeżą instalacją (w tym przypadku zrobiłbyś tylko dd /dev/sda1to /dev/sda, co nie obejmuje również bootloadera i wszystkie partycje)

sBlatt
źródło
Poradzę sobie z dd. Używałem go wcześniej i wiem, czy if nie jest początkiem warunkowego wyrażenia :) ... Z jakiegoś powodu pomijają mnie uuids i grub. Są prawdopodobnie dość proste, ale z drugiej strony też mogę być ... I Prawdopodobnie użyję MBR ze świeżej (obojętnej) instalacji. Największą przeszkodą jest dla mnie usunięcie partitonów z maszyny wirtualnej. Jak mogę przenieść partycję VM z hosta?
Peter.O,
... trochę więcej (próbowałem edytować to w moim poprzednim komentarzu, ale edycja została niedozwolona!? kolejna drobna tajemnica):. . . Udostępniane foldery VirtualBox wydają się polegać na dodatkach, które nie są obecne w uruchomieniu Live-CD, ponieważ wymaga to ponownego uruchomienia.
Peter.O,
możesz dodać do folderu sieciowego, zrobiłem to w zeszłym tygodniu i było to około 30 MB / s. Jeśli ustawisz folder współdzielony w środowisku live-cd / windows / linux i aktywujesz zmostkowaną sieć dla maszyny wirtualnej, powinno to działać.
sBlatt,
btw: możliwe jest skopiowanie całej partycji Linuksa z cp (+ kilka argumentów, aby zachować permissoiny! Bardzo ważne! Myślę, że to było -p lub --preserve = all). Zrobiłem to raz, aby skopiować obraz po zmianie rozmiaru partycji (więc zamontowałem plik dd-Image i zrobiłem cp)
sBlatt,
Przepraszam, że jestem tak głupi, ale muszę pominąć jakąś niewiarygodnie prostą kwestię ... Wszystko, co czytam, wydaje się sugerować, że NAT domyślnie umożliwia Gościowi dostęp do hosta (połączenie w innym kierunku wymaga mostkowania) .. OK Miałem swoje trzy domysły (więcej niż trzydzieści!). Udało mi się uzyskać dostęp do folderów współdzielonych VBox tylko po zainstalowaniu dodatków gości. Nie mogę zainstalować tych dodatków w trybie LiveCD, więc utknąłem ponownie. Jak uzyskać dostęp do systemu plików hosta podłączonego do NAT od gościa (bez dodatków)? Przypuszczam, że muszę coś zrobić na hoście, ale nie wiem, co to jest?
Peter.O,
1

Nie próbowałem ten sam, ale opis wydaje się być realistyczny wystarczy spróbować.

Serge Broslavsky
źródło
Artykuł, o którym wspominasz, jest na podobnej ścieżce, do której chcę iść. Jeśli zignoruję jego problemy z LVM Fedory, prawie rozwiązuje to jeden z moich problemów: Jak przenieść część maszyny wirtualnej do środowiska hosta. Wspomina o narzędziu VirualBox VBoxManage, które umożliwia zamontowanie surowego obrazu dysku VM na hoście. Jednak w tym artykule występuje problem, ponieważ dotyczy on hosta systemu Windows. Nazwa polecenia jest w porządku, ale żaden z argumentów nie jest rozpoznawany ... ale zakładam, że to samo jest dostępne dla Linuksa ... Czy ktoś zna składnię?
Peter.O,
Spróbuj uruchomić „Polecenia wewnętrzne VBoxManage” - drukuje niektóre informacje o użytkowaniu. Może się to wydawać wystarczające.
Serge Broslavsky
1

1> wykonaj tar swojego wirtualnego systemu operacyjnego

2> zacznij od dystrybucji na żywo

3> rozpakuj swój virtualBox OS na partycji docelowej / s (na przykład / dev / sda1)

4> ustaw partycję rozruchową (fdisk może ci pomóc): # fdisk / dev / sda Polecenie (m dla pomocy): a (a = przełączanie flagi rozruchowej) Numer partycji (1-4): 1 (1 = / dev / sda1) Polecenie (m dla pomocy): q (q = wyjście)

5> zainstaluj gruba w 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 (NOT / dev / sda1!) # (chroot) grub-install --recheck / dev / sdX

6> Ciesz się ...

daniele
źródło
1
Do tar mój VirtualBox OS brzmi tak proste ... ale nie dla mnie ... Na przykład; Gdzie mam to zrobić? Zakładam, że właściwym sposobem na tarowanie systemu plików jest nieużywanie go ... więc uruchomiłem maszynę wirtualną za pośrednictwem LiveCD ... To dało mi dostęp do napędu maszyny wirtualnej przez LiveCD / media .... ale jak mogę pobrać dane z maszyny wirtualnej .. Foldery współdzielone VirtualBox wymagają GuestAddons, które wymagają ponownego uruchomienia, które ponownie uruchamiają Live CD do stanu bez dodatków ... Albo czy coś przeoczyłem o folderach współdzielonych VirtualBox /
Peter .O
Możesz tar (także rsync) system bezpośrednio, nawet jeśli jest uruchomiony (to jest Linux ...):
daniele
Możesz tarować system bezpośrednio, nawet jeśli jest uruchomiony. To jest Linux ;-). Najpierw zainstaluj te pakiety: sshfs ( fuse.sourceforge.net/sshfs.htm ) i zamontuj prawdziwy katalog wewnątrz virtualbox. Na przykład, możesz użyć w Virtualbox, jak powiedziałem, pendrive (zamontowany, powiedzmy, w / media / pendrive) w następujący sposób: # sshfs [email protected]: / media / pendrive / mnt Po tar bezpośrednio z twojego URUCHAMIANIE virtualbox do pendrive (Linux może): # cd / # tar -cvpzf /mnt/backup.tgz --exclude = / proc / --exclude = / lost + found / --exclude = / mnt / --exclude = / sys / /
daniele
1

Co dokładnie z instalacji chcesz migrować? Jeśli zależy Ci tylko na danych użytkownika i preferencjach, prawdopodobnie możesz po prostu skopiować wszystko z katalogu domowego na maszynie wirtualnej do systemu plików poza maszyną wirtualną (na przykład keydrive), skopiować te pliki do nowej instalacji Ubuntu, a następnie zainstaluj ponownie wszystkie programy zainstalowane na maszynie wirtualnej. Zależy od tego, jak bardzo dostosowałeś instalację maszyny Wirtualnej, od tego, jakie problemy przyniosłyby inne rozwiązania.

JPL
źródło
Używam Ubuntu (pierwszy użytkownik Linuksa) na prawdziwym sprzęcie. Dużo się uczyłem , ale mój system zebrał mnóstwo bałaganu. Poprawiłem jedno ustawienie i zapomniałem, gdzie je ustawiłem itp. Moim pomysłem jest wykorzystanie (minimalnego) doświadczenia, które mam teraz, i zbudowanie równoległego systemu VM bez błędów, a następnie przeniesienie go na główny sprzęt . Mogę poświęcić temu czas i nadal eksperymentować z bieżącym. To także dobry projekt „uczący się” ... ale mam wrażenie, że odgryzłem trochę więcej, niż potrafię przeżuć :) ...
docieram
1

Lubię używać rsync do tworzenia kopii zapasowych mojego systemu. Jest to dobre dla domowego katalogu directroy lub ect, ale może nie być tym, czego szukasz pod względem pełnej migracji systemu. Aby użyć rsync, musisz zainstalować ubuntu na obu systemach. Zaktualizuj oba, aby pakiety były takie same i znajdowały się na tym samym poziomie (nie jest to obowiązkowe, ale ułatwia rzeczy). Następnie, aby skopiować katalog domowy z server1 na server2, możesz uruchomić następujące polecenie na server1:

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

Najbardziej podoba mi się to, że rsync obliczy różnice między katalogami i przeniesie zmiany, a nie wszystko. W ten sposób możesz zachować aktualność kopii zapasowej, uruchamiając ją na serwerze 2 (do kopii zapasowej na serwerze 1):

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

hth

spinlock
źródło
Dzięki, używałem rsync do tworzenia kopii zapasowych partycji innych niż OS (tj. Danych, takich jak muzyka itp.). Też podoba mi się sposób działania rsync; bardzo wydajny. Moim głównym „problemem” jest to, że nie wiem, czy prosta kopia pliku z maszyny wirtualnej na równoważne partycje będzie działać. Na przykład. Jak Ubuntu będzie obsługiwać różne SPRZĘT. Czy to automatycznie wykrywa i dostosowuje podczas uruchamiania? Windows na pewno nie! i nie jestem jeszcze pewien, jak obsługiwać punkty montowania: nie chcę synchronizować mojego dysku TeraByte z partycją systemu operacyjnego; i GRUB mnie wyciąga. To są zabawne rzeczy, o których jeszcze nie wiem wystarczająco dużo.
Peter.O