Jak uruchomić komputer z pliku ISO zapisanego na dysku twardym?


12

Wiem, że mogę utworzyć / nagrać bootowalną płytę CD / DVD lub live USB i mogę z niej uruchomić / zainstalować. Ale przypuśćmy, że obecnie używam GNU / Linux i mam plik ISO innego GNU / Linux, który chcę zainstalować na moim dysku twardym, a następnie Czy mogę bezpośrednio uruchomić z ISO z dysku twardego i spróbować / zainstalować ten system operacyjny GNU / Linux ?

Odpowiedzi:


15

Tak, możesz to zrobić, dodając pozycję menu do GRUBmenu modułu ładującego rozruch.

Możesz dodać niestandardową pozycję menu GRUB /etc/grub.d/40_custom, edytując ,

Przykład niestandardowego menu :

 exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.  

menuentry "Trisquel ISO" {
        set isofile="/Operating_Systems/Trisquel_7.0_i686/trisquel_7.0_i686.iso"
        loopback loop (hd0,5)$isofile
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash
        initrd (loop)/casper/initrd
}

Instrukcja i objaśnienie:

  1. Polecenie setsłuży do przechowywania ścieżki pliku ISO do zmiennej tutaj isofile.

  2. loopbacksłuży do tworzenia urządzenia z obrazu systemu plików. W tym celu konieczne jest określenie urządzenia i pliku obrazu. Tutaj użyliśmy, (hd0,5)$isofilew którym (hd0,5)reprezentuje piąta partycja dysku.

    • Punkty do Uwaga: W (hd0,5),
      1 st cyfra oznacza liczbę urządzeń, które rozpoczyna się od 0(tutaj: 0 = 1 st urządzenia) i
      2 nd cyfra oznacza numer partycji, która rozpoczyna się od 1(tutaj 5 = 5 th partycji).
      To znaczy/dev/sda5
    • Zmienna $isofilema ścieżkę do pliku ISO. W końcu się staje (hd0,5)/Operating_Systems/Trisquel_7.0_i686/trisquel_7.0_i686.iso.
    • Aby uzyskać więcej informacji, odwiedź stronę: Jak określić urządzenia i pliki .

  3. linuxpolecenie służy do ładowania jądra Linux ( vmlinuz ) z pliku. Umieść ścieżkę jądra Linux w ISO.

    • Przeczytaj / rozpakuj zawartość ISO, aby uzyskać ścieżkę przykładu jądra:

       $ 7z l trisquel_7.0_i686.iso | grep vmlinu
       2014-10-29 21:41:43 .....      5841680      5841680  casper/vmlinuz
       2014-11-03 00:45:09 .....      5844176      5844176  casper/vmlinuz.netinst
      

      więc /casper/vmlinuzzostał użyty tutaj.

  4. initrd Polecenie służy do załadowania początkowego ramdysku obrazu jądra systemu Linux i ustawienia odpowiednich parametrów w obszarze konfiguracji systemu Linux w pamięci.

    • initrd to schemat ładowania tymczasowego głównego systemu plików do pamięci. Podaj ścieżkę initrdw ISO.
    • Przeczytaj / rozpakuj zawartość ISO, aby uzyskać ścieżkę initrd:

      $ 7z l trisquel_7.0_i686.iso | grep initrd
      2014-11-03 00:45:19 .....     16851900     16851900  casper/initrd
      2014-11-03 00:45:09 .....      9398592      9398592  casper/initrd.netinst
      
  5. Dodatkowy parametr, taki jak boot=casper iso-scan/filename=$isofile noprompt noejectmoże być specyficzny dla dystrybucji GNU / Linux i może być różny dla innej rodziny Linuksa. Można znaleźć kilka konfiguracje dla różnych rodzin / dystrybucji od tutaj .

    Uwaga: Niektóre dystrybucje używają initrd.gzlub initrd.lzzależą od zastosowanego algorytmu / kompresji.

Po edycji /etc/grub.d/40_customGRUB musi zostać zaktualizowany za pomocą update-grub2komendy. Po ponownym uruchomieniu na ekranie GRUB znajdziesz niestandardowe menu, które dodałeś. I możesz korzystać ze środowiska Live dystrybucji GNU / Linux.

Aby wykonać instalację z ISO, instalator może potrzebować odmontować wszystkie zamontowane partycje; tzn. powiedzmy, że zamontowany jest inny system /isodevice, wtedy możesz umount -l /isodevice.


Wow, jestem pod wrażeniem ... pomyślałbym, że to niemożliwe, ponieważ instalowanie nowego systemu operacyjnego często wymaga formatowania partycji, które mogą obejmować partycję, na której jest przechowywany plik ISO.
— Wildcard

Twoje próbki używają GRUB2. Centos 6 używa GRUB1 (starsze wersje gruba) i powyższe przykłady nie działają.
— Ikrom
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.