Największy problem z uruchamianiem pliku ISO polega na tym, że pliki ISO zaprojektowane do rozruchu prawie zawsze są zaprojektowane do rozruchu z dysku CD . Jak wyjaśniono na blogu Marco dotyczącym Grub 2 (moje podkreślenie):
GRUB może odczytywać obrazy ISO9660 („iso”). Może na przykład załadować kilka pierwszych sektorów i uruchomić go. Ale większość ludzi nie zdaje sobie sprawy, że „co wtedy?”. Co zrobiłby załadowany system operacyjny? Najprawdopodobniej wyszuka CDROM, którego nie znajdzie i zawiedzie.
Tak więc najprostszym sposobem na uruchomienie z losowego pliku ISO jest załadowanie go na maszynę wirtualną (VirtualBox, VMware lub Virtual PC) jako wirtualną płytę CD i uruchomienie tam. To prawie zawsze powinno działać, ponieważ dla VM nie jest to plik ISO - to prawdziwa płyta CD na prawdziwym sprzęcie CD.
Ładowanie z pliku ISO na goły metal jest znacznie trudniejsze. To, jak to zrobisz, zależy od używanej wersji Gruba, a wyniki mogą się różnić w zależności od używanego ISO i tego, jak został skonfigurowany do rozruchu. Właśnie dlatego większość narzędzi rozruchowych ISO z USB (Unetbootin, WinToFlash itp.) Zwykle wyodrębnia zawartość ISO na dysk - ponieważ w ten sposób można uzyskać do nich bezpośredni dostęp, bez mylenia uruchamianego systemu operacyjnego.
Grub 1
... niepewny. Jeśli to możliwe, pozycje menu prawdopodobnie będą wyglądać bardzo podobnie do Grub4DOS, chociaż myślę, że polecenie „map --hook” jest rozszerzeniem Grub4DOS. Na plus, Grub ma szersze wsparcie systemu plików niż Grub4DOS.
Uwaga na temat Grub z reiserfs (niepotwierdzona) wskazuje, że „musisz zamontować partycję notail, aby działała”.
title Boot Hardware Detection Tool from iso image (with 'iso' parameter)
kernel /memdisk iso
initrd /hdt.iso
Możesz także użyć konfiguratora menu, takiego jak MultiBootISOs.exe z PenDriveLinux . Umieść pliki ISO na dysku flash i uruchom narzędzie, aby zainstalować program ładujący i skonfigurować menu rozruchu.
Oto kilka przykładowych wpisów Grub2. Chainloader nie działa obecnie w celu uruchomienia ISO, więc wpisy te muszą (1) używać pętli zwrotnej do „montowania” ISO i (2) dodawać coś takiego jak iso-scan lub findiso do linii linux , która określa plik ISO.
Niestety nie ma ogólnego sposobu na zrobienie tego. Każdy inny wpis rozruchowy musi być dostosowany do zawartości docelowego ISO. Większość płyt LiveCD z systemem Linux używa ISOLINUX jako programu ładującego; znajdź plik isolinux.cfg i sprawdź ten wpis rozruchu, aby zobaczyć, co zwykle uruchamia się.
@albert: Używam Grub2 na dysku flash i byłem sfrustrowany tymi samymi rzeczami, więc nie było to trudne. zastanawiam się nad innym pytaniem, ale nigdy wcześniej nie próbowałem „wypalić” ISO na partycji, więc może być… interesujące.
quack quixote
Często mogę uruchomić go w VMware (i już to zrobiłem), ale to mi niewiele pomaga, ponieważ jest to Windows, a kiedy instaluję go za pomocą VMware na moim dysku, nie uruchamia się później (głupi Windows ...).
Albert
Czy możesz mi zasugerować, którą opcję powinienem najpierw wypróbować, tj. Grub1, Grub2 lub Grub4DOS? Mogę po prostu zainstalować wszystko, co jest potrzebne, to naprawdę nie będzie problem.
@ quackquixote, Jeśli chodzi o pogrubione słowa „Co zrobiłby załadowany system operacyjny? Najprawdopodobniej będzie szukał CD-ROM-u, którego nie znajdzie i zawiedzie”. Dlaczego system operacyjny musi szukać CD-ROM? Jest to już idealny plik ISO, a wszystko, co jest potrzebne do załadowania systemu operacyjnego, znajduje się już w pliku ISO, więc dlaczego nie może pominąć szukania CDROM-ów?
Pacerier
1
Możesz użyć dd z terminala, aby zapisać plik ISO na partycji. Bądź ostrożny, jeśli źle użyjesz dd, możesz wyczyścić wszystko. Powinno to wyglądać mniej więcej tak: dd if = Desktop / LinuxCDFile.iso of = / Path / To / Partition
Odpowiedzi:
Największy problem z uruchamianiem pliku ISO polega na tym, że pliki ISO zaprojektowane do rozruchu prawie zawsze są zaprojektowane do rozruchu z dysku CD . Jak wyjaśniono na blogu Marco dotyczącym Grub 2 (moje podkreślenie):
Tak więc najprostszym sposobem na uruchomienie z losowego pliku ISO jest załadowanie go na maszynę wirtualną (VirtualBox, VMware lub Virtual PC) jako wirtualną płytę CD i uruchomienie tam. To prawie zawsze powinno działać, ponieważ dla VM nie jest to plik ISO - to prawdziwa płyta CD na prawdziwym sprzęcie CD.
Ładowanie z pliku ISO na goły metal jest znacznie trudniejsze. To, jak to zrobisz, zależy od używanej wersji Gruba, a wyniki mogą się różnić w zależności od używanego ISO i tego, jak został skonfigurowany do rozruchu. Właśnie dlatego większość narzędzi rozruchowych ISO z USB (Unetbootin, WinToFlash itp.) Zwykle wyodrębnia zawartość ISO na dysk - ponieważ w ten sposób można uzyskać do nich bezpośredni dostęp, bez mylenia uruchamianego systemu operacyjnego.
Grub 1
... niepewny. Jeśli to możliwe, pozycje menu prawdopodobnie będą wyglądać bardzo podobnie do Grub4DOS, chociaż myślę, że polecenie „map --hook” jest rozszerzeniem Grub4DOS. Na plus, Grub ma szersze wsparcie systemu plików niż Grub4DOS.
Uwaga na temat Grub z reiserfs (niepotwierdzona) wskazuje, że „musisz zamontować partycję
notail
, aby działała”.Memdisk jest opcją; patrz poniżej.
Grub4DOS
Grub4DOS oferuje eksperymentalną „emulację CD”, która działa z niektórymi ISO. Niestety, Grub4DOS odczytuje tylko systemy plików FAT32 / NTFS. Pobierz Grub4DOS.
Oto przykładowy wpis ( źródło ):
Podobno Win7 ISO można uruchomić za pomocą tego wpisu :
Inne ISO można uruchomić za pomocą Memdisk :
Możesz także użyć konfiguratora menu, takiego jak MultiBootISOs.exe z PenDriveLinux . Umieść pliki ISO na dysku flash i uruchom narzędzie, aby zainstalować program ładujący i skonfigurować menu rozruchu.
Oto odcinek Hak5 na temat instalowania Grub4DOS.
Grub 2
Oto kilka przykładowych wpisów Grub2. Chainloader nie działa obecnie w celu uruchomienia ISO, więc wpisy te muszą (1) używać pętli zwrotnej do „montowania” ISO i (2) dodawać coś takiego jak iso-scan lub findiso do linii linux , która określa plik ISO.
Niestety nie ma ogólnego sposobu na zrobienie tego. Każdy inny wpis rozruchowy musi być dostosowany do zawartości docelowego ISO. Większość płyt LiveCD z systemem Linux używa ISOLINUX jako programu ładującego; znajdź plik isolinux.cfg i sprawdź ten wpis rozruchu, aby zobaczyć, co zwykle uruchamia się.
Przykładowe wpisy ( źródło ):
Jeśli próbujesz uruchomić dysk LiveCD inny niż Linux, możesz mieć pecha. Ponownie Memdisk może pomóc :
źródło
Możesz użyć dd z terminala, aby zapisać plik ISO na partycji. Bądź ostrożny, jeśli źle użyjesz dd, możesz wyczyścić wszystko. Powinno to wyglądać mniej więcej tak: dd if = Desktop / LinuxCDFile.iso of = / Path / To / Partition
źródło