GRUB'da bir ISO dosyasını nasıl başlatabilirim? ISO dosyası bir reiserfs bölümündedir ve GRUB bu dosyaya erişebilir (zaten test edilmiştir).
GRUB'da bir ISO dosyasını nasıl başlatabilirim? ISO dosyası bir reiserfs bölümündedir ve GRUB bu dosyaya erişebilir (zaten test edilmiştir).
Yanıtlar:
Bir ISO dosyasını önyüklemenin en büyük sorunu, önyükleme için tasarlanmış ISO'ların neredeyse her zaman bir CD'den önyüklenecek şekilde tasarlanmış olmasıdır . Marco'nun Grub 2 ile ilgili blogunda açıklandığı gibi (benimki vurgusu):
GRUB ISO9660 (”iso”) görüntüleri okuyabilir. Örneğin ilk birkaç sektörü yükleyebilir ve başlatabilir. Ancak çoğu insan, "o zaman ne?" Olduğunun farkında değil. Yüklenen işletim sistemi ne yapar? Büyük olasılıkla bulamayacağı ve başarısız olamayacağı bir CDROM arayacaktır.
Bu nedenle , rastgele bir ISO dosyasından önyüklemenin en basit yolu sanal bir CD olarak sanal bir makineye (VirtualBox, VMware veya Virtual PC) yüklemek ve orada önyüklemektir. Neredeyse her zaman çalışması gerekir, çünkü VM için bu bir ISO dosyası değil - gerçek CD donanımında gerçek bir CD.
Çıplak metal üzerindeki ISO dosyasından önyükleme yapmak daha zordur. Bunu nasıl yaptığınız Grub'un hangi versiyonunu kullandığınıza bağlıdır ve sonuçlar, kullandığınız ISO'ya ve önyükleme için nasıl yapılandırıldığına bağlı olarak değişebilir. Bu yüzden çoğu USB'den USB önyükleme aracı (Unetbootin, WinToFlash, vb.) Genellikle ISO içeriğini sürücüye çıkarır ;
... emin değil. Mümkünse, menü girişleri Grub4DOS'a çok benzeyecek, ancak "map - hook" komutunun bir Grub4DOS geliştirmesi olduğunu düşünüyorum . Artı tarafta, Grub, Grub4DOS'tan daha geniş bir dosya sistemi desteğine sahiptir.
Reiserfs'li Grubun (onaylanmamış) notu, "bölümünüzü çalışması notail
için onu monte etmeniz gerektiğini" gösterir.
Memdisk bir seçenektir; aşağıya bakınız.
Grub4DOS , bazı ISO'larla çalışan deneysel bir “CD emülasyonu” sunmaktadır. Ne yazık ki, Grub4DOS sadece FAT32 / NTFS dosya sistemlerini okur. Grub4DOS'u indirin.
İşte bir örnek giriş ( kaynak ):
title fdfullcd.iso (0xFF)
find --set-root /fdfullcd.iso
map /fdfullcd.iso (0xFF)
map --hook
root (0xFF)
kernel /isolinux/data/memdisk
initrd /isolinux/data/fdboot.img
Güya Win7 ISO bu giriş ile başlatılabilir :
title Windows 7
map (hd0,0)/win7.iso (hd32)
map --hook
chainloader (hd32)
Diğer ISO'lar Memdisk ile başlatılabilir :
title Boot Hardware Detection Tool from iso image (with 'iso' parameter)
kernel /memdisk iso
initrd /hdt.iso
PenDriveLinux'taki MultiBootISOs.exe gibi bir menü yapılandırıcısını da kullanabilirsiniz . ISO'ları flash sürücüye yerleştirin ve önyükleyiciyi kurmak ve önyükleme menüsünü yapılandırmak için yardımcı programı çalıştırın.
İşte Grub4DOS kurulumu ile ilgili bir Hak5 bölümü .
İşte Grub2 girişlerinden birkaç örnek. chainloader şu anda bir ISO önyüklemesi için çalışmaz, bu nedenle bu girişlerin (1) ISO'yu "monte etmek" için geri döngü kullanması ve (2) ISO dosyasını belirten linux satırına iso-scan veya findiso gibi bir şey eklemesi gerekir .
Ne yazık ki, bunu yapmanın genel bir yolu yoktur. Her farklı önyükleme girişi, hedef ISO'nun içeriğine göre özelleştirilmelidir. Çoğu Linux LiveCD, ISOLINUX'u önyükleyici olarak kullanır; isolinux.cfg dosyasını bulun ve ne önyükleme yaptığını görmek için bu önyükleme girişini inceleyin.
Örnek girişler ( kaynak ):
menuentry "Ubuntu Live 9.10 32bit" {
loopback loop /boot/iso/ubuntu-9.10-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu-9.10-desktop-i386.iso noeject noprompt --
initrd (loop)/casper/initrd.lz
}
menuentry "Grml small 2009.10" {
loopback loop /boot/iso/grml-small_2009.10.iso
linux (loop)/boot/grmlsmall/linux26 findiso=/boot/iso/grml-small_2009.10.iso apm=power-off lang=us vga=791 boot=live nomce noeject noprompt --
initrd (loop)/boot/grmlsmall/initrd.gz
}
Linux olmayan bir LiveCD önyüklemeye çalışıyorsanız, şansınız tükenebilir. Yine, Memdisk yardımcı olabilir :
menuentry "Boot Hardware Detection Tool from iso" {
linux16 /memdisk iso
initrd16 /hdt.iso
}
Bir dd dosyasına bir iso dosyası yazmak için dd'yi terminalden kullanabilirsiniz. Sadece dikkatli olun, yanlış dd kullanıyorsanız her şeyi silebilirsiniz. Şuna benzer bir şey olmalı: dd if = Desktop / LinuxCDFile.iso of = / Path / To / Partition