Używanie fizycznego dysku twardego w pariycji jako maszyny wirtualnej VirtualBox i jako partycji rozruchowej

11

Czy można zainstalować system Ubuntu z VirtualBox przy użyciu fizycznej partycji dysku twardego, a następnie umożliwić rozruch?

To, czego chcę, to system operacyjny Ubuntu, który zainstalowałem w VirtualBox, można uzyskać dostęp i uruchomić go zarówno z maszyny fizycznej, jak i maszyny wirtualnej VirtualBox (oczywiście nie w tym samym czasie). Czasami więc mogę uruchomić go jako maszynę wirtualną, a czasem mogę uruchomić go jako prawdziwą maszynę (jako podwójny rozruch obok mojego głównego systemu operacyjnego, jakim jest Linux Mint).

Po przeczytaniu kilku artykułów na ten temat, oto link:

  1. Przeprowadź migrację z maszyny wirtualnej (VM) do systemu fizycznego
  2. Używanie surowego dysku twardego hosta od gościa
  3. Korzystanie z fizycznego dysku twardego z maszyną wirtualną VirtualBox
  4. VirtualBox: użycie partycji fizycznej jako dysku wirtualnego

Myślę, że mogę to zrobić, ale nie jestem pewien co do wyniku mojego problemu. Mówi się, że jeśli wystąpi problem, doprowadzi to do poważnego uszkodzenia danych.

Czy to znaczy, że całe dane na moim dysku twardym (nie tylko partycja) zostaną uszkodzone?

EDYTOWAĆ

Zapomniałem wspomnieć, że zainstalowany wirtualny system operacyjny Ubuntu jest podzielony na trzy partycje. A fizyczny dysk partycji, którego użyję, to jedna partycja logiczna. Jest to problem, który sprawia, że ​​nie jestem pewien wyniku.

Mas Bagol
źródło

Odpowiedzi:

9

Znajduję rozwiązanie dla mojego problemu. To nie jest takie proste. Dla mnie jako niedoświadczonego użytkownika Ubuntu jest to mylące. W końcu decyduję się tego nie robić. Ale może ktoś ma inny sposób na zrobienie tego lepiej niż ja.

Zainstaluj nowy system operacyjny Ubuntu

Zainstaluj system Ubuntu obok głównego systemu operacyjnego. W moim przypadku jest to linux mint. Ale nie widzę żadnej różnicy w procesie między mennicą a Ubuntu, ponieważ mennica jest oparta na Ubuntu.

Utwórz średni plik dla Virtual Box, aby przeczytać nowy system operacyjny

Po zakończeniu instalacji. Musisz utworzyć nośnik dla VirtualBox, aby odczytać partycję zawierającą świeżo zainstalowany system operacyjny Ubuntu. Sposób, w jaki to robisz, jest następujący:

VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sdX -partitions Y,Y

Gdzie Xjest twój dysk twardy i Ynumer twojej rozmowy? Nie dołączaj partycji zawierającej główny start systemu operacyjnego. Ponieważ potrzebujemy innego nośnika rozruchowego dla nowego systemu operacyjnego, który nie zawiera głównego rozruchu systemu operacyjnego. Może być konieczne uruchomienie jako root.

Utwórz Medium dla Virtual Box, aby uruchomić z nowego systemu operacyjnego

Aby utworzyć nośnik rozruchowy, utworzymy obraz ISO z nowego pliku rozruchowego systemu operacyjnego. Najpierw musimy to zrobić w naszym głównym systemie operacyjnym. Uruchom ponownie komputer i uruchom komputer z głównego systemu operacyjnego. W moim przypadku restartuję się do Linux Mint.

Musimy utworzyć folder tymczasowy do utworzenia pliku rozruchowego ISO. Więc kiedy Mint będzie gotowy do wykonania zadania. Utwórz folder. Zakładam, że robimy to na pulpicie. Zrobimy tak:

  • Idź do pulpitu.

  • Utwórz nowy folder i nadaj mu nazwę „iso”.

  • Otwórz ten folder ISO i ponownie utwórz nowy folder o nazwie „boot”.

  • Otwórz ten folder rozruchowy i ponownie utwórz nowy folder o nazwie „grub”.

    Jeśli robimy to za pośrednictwem terminala, wystarczy wpisać ten wiersz i nacisnąć Enter

    mkdir -p ~/Desktop/iso/boot/grub
    

    Terminal to świetne narzędzie, jeśli wiemy, co robimy! ;)

  • Po utworzeniu folderów musimy skopiować nowe pliki rozruchowe systemu Ubuntu OS do tego folderu. Tak więc otwórz partycję, na której instalujemy system operacyjny Ubuntu, a następnie skopiuj wszystkie pliki z /usr/lib/grub/i386-pc/do ~/Desktop/iso/boot/grub. I skopiuj wszystkie pliki z /boot/grub/grub.cfgdo ~/Desktopiso/boot/grub.

    Ponownie, jeśli ten krok zostanie wykonany za pomocą terminala, powinniśmy zrobić tak:

    cp /usr/lib/grub/i386-pc/* ~/Desktop/iso/boot/grub
    
    cp /boot/grub/grub.cfg ~/Desktop/iso/boot/grub
    
  • Otwórz grub.cfg w ~/Desktop/iso/boot/grub/grub.cfgedytorze tekstu. Ostrzeżenie nie popełnij błędu, ten, który tu edytujesz, nie należy do ciebie /boot/grub/grub.cfg. Jeśli edytujesz ostatni, o którym wspomniałem, rozruch głównego systemu operacyjnego zakończy się niepowodzeniem.

  • Po otwarciu grup.cfg. Usuń menuentryto niezwiązane z nowym zainstalowanym systemem operacyjnym Ubuntu. Zwykle wygląda to tak:

    ### 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  ###
    

    Usuń wszystkie pozycje menu niezwiązane z nowym zainstalowanym systemem operacyjnym Ubuntu. Nie musimy ich istnieć w VirtualBox, prawda?

  • Następnie przekonwertuj foldery ze wszystkimi dołączonymi plikami na ISO za pomocą tego:

    grub-mkrescue -o boot.iso ~/Desktop/iso
    

    Uwaga: Jeśli wystąpi błąd podczas wykonywania tej czynności, musisz xorrisonajpierw zainstalować . z tym:

    sudo apt-get install xorriso
    
  • Plik ISO do rozruchu został utworzony. Dobrze będzie, jeśli umieścimy ten plik ISO w tym samym folderze z utworzonym plikiem średnim.

Ustaw maszynę wirtualną tak, aby była w stanie uruchomić zainstalowany system Exact Ubuntu

Stworzyliśmy medium do odczytu nowego zainstalowanego systemu operacyjnego i stworzyliśmy jego moduł ładujący dla VirtualBox niezależnie. Ostatnią rzeczą jest skonfigurowanie, w jaki sposób Virtual Box powinien to zrobić.

  • Idź do miejsca, w którym kładziemy medium.vmdk. Otwórz tam terminal i zrób to:

    chmod -v 666 medium.vmdk
    
  • Jako zmiana roota medium.vmdki boot.isozezwolenie na plik. Musimy być właścicielem tych plików.

  • Otwórz VirtualBox. Utwórz nową maszynę. Gdy opcja Dysk twardy daje opcje, wybierz use an existing virtual hard drivei weźmedium.vmdk

  • Zakończ, ale jeszcze go nie uruchamiaj. Po wybraniu nowego urządzenia otwórz ustawienia.

  • W sekcji Pamięć, jeśli nie ma miejsca na dysku CD, utwórz nowy. Następnie wykonaj montaż boot.iso, który stworzyliśmy na tym dysku CD.

  • Przed zamknięciem ustawień przejdź do sekcji System, aby się upewnić. Pamięć CD, która zawiera, boot.isojest najpierw odczytywana przed dyskiem twardym. W ten sposób Virtual Box uruchomi się z płyty CD, aby odczytać nowy zainstalowany system operacyjny.

  • Koniec. I możemy uruchomić nowy zainstalowany system operacyjny zarówno z maszyny wirtualnej, jak i z prawdziwej maszyny.

Ważne notatki

Mimo że możemy uruchomić go z dwóch stron. Znalazłem kilka problemów.

  1. Ilekroć uruchamiamy z prawdziwej maszyny, a następnie próbujemy uruchomić ją z maszyny wirtualnej, będzie to błąd. Ponieważ stan dysku fizycznego jest zmieniany bez medium.vmdkwiedzy o tym. Musimy więc utworzyć nowy nośnik i ponownie zmienić jego uprawnienia, aby móc uruchomić komputer z maszyny wirtualnej. Ale nie musimy tworzyć nowych boot.iso.

  2. Ponieważ adres MAC z obu komputerów jest inny. System operacyjny będzie zdezorientowany podczas próby konfiguracji ustawień sieciowych. W moim przypadku zainstalowałem Ubuntu Server jako nowy system operacyjny i za każdym razem, gdy uruchamiam z innego komputera, pojawi się komunikat „Czekam na konfigurację sieci ...” przez około 2 minuty, a następnie uruchamia się.

Otóż ​​to. Moje rozwiązanie mojego własnego problemu.

Mas Bagol
źródło
1
Właśnie to chciałem dzisiaj zrobić. Ale odwrotnie, uruchom system operacyjny Windows z partycji fizycznej. Szew, jakbym mógł pójść w drugą stronę.
nelaaro,
@nelaaro Próbuję zrobić to samo. Mam dysk twardy z zainstalowanym systemem Windows10, który podłączyłem do komputera z Ubuntu 14.04. Ubuntu jest moim hostem, z tego chcę uruchomić maszynę wirtualną Virtualbox mojego systemu Windows10. Utworzyłem plik rawvmdk, ale nie można go uruchomić. Zgodnie z tą odpowiedzią powinienem utworzyć plik ISO, ale iso utworzone za pomocą powyższego polecenia zabiera mnie do gruba i naprawdę nie jest w stanie się uruchomić. Czy możesz mi pomóc?
Phani,
1
@ nelaaro Stworzyłem osobne pytanie na ten temat: askubuntu.com/questions/944509/... Prosimy mi pomóc.
Phani,