Fedora veya CentOS gibi Ubuntu olmayan canlı ISO görüntülerinden nasıl önyüklenir?


26

Bunun ile yapılabilir bulmuştur loopbackşöyle

menuentry "Lucid ISO" {
loopback loop (hd0,1)/boot/iso/ubuntu-10.04-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu-10.04-desktop-i386.iso noprompt noeject
initrd (loop)/casper/initrd.lz
}

Ancak sadece ubuntu veya türevleri ile çalışır. Fedora, cent, opensuse vs. gibi diğer canlı görüntüleri önyüklemek istersem nasıl yazılmalıdır?

Düzenleme: Başka bazı girişler buldum ama hepsi muhtemelen debian tabanlı.

menuentry "Linux Mint 10 Gnome ISO" {
 loopback loop /linuxmint10.iso
 linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper initrd=/casper/initrd.lz iso-scan/filename=/linuxmint10.iso noeject noprompt splash --
 initrd (loop)/casper/initrd.lz
}

menuentry "DBAN ISO" {
 loopback loop /dban.iso
 linux (loop)/DBAN.BZI nuke="dwipe" iso-scan/filename=/dban.iso silent --
}


menuentry "Tinycore ISO" {
 loopback loop /tinycore.iso
 linux (loop)/boot/bzImage --
 initrd (loop)/boot/tinycore.gz
}


menuentry "SystemRescueCd" {
 loopback loop /systemrescuecd.iso
 linux (loop)/isolinux/rescuecd isoloop=/systemrescuecd.iso setkmap=us docache dostartx
 initrd (loop)/isolinux/initram.igz
}

Edit2: Nasıl chainload için grubve syslinuxgelen grub2?

Düzen3: Herhangi bir çıkarılabilir cihaz olmadan diğer canlı görüntüleri başlatmak ve kullanmak grub2için özel menü girişleri kullanmak istiyorum grub2.


1
Bu hala, konu dışı unix değildir ve Linux yığın alışverişidir iyi unix.stackexchange.com
takyonların

@ Rinzwind nasıl ??
Takyonlar

2
Soru fedora, centOS ve opensuse ile ilgili. Ubuntu hakkında değil. @ abcd
Rinzwind

2
Bu arada: Fedora bunu yapabilecek durumda değil. CentOS temelde Fedora'dır. dracutBuna karşı bir özellik isteği var ve bunun için yamalı. Bu yamayı bugzilla.redhat.com adresinde bulabilirsiniz
Rinzwind

Yanıtlar:


19

İso'dan önyükleme, dağıtım tarafından desteklenmesi gereken bir özelliktir ve iso-scan/filename=seçenek Fedora'da veya başkalarında çalışmaz. Bu özellik için başka çekirdek seçenekleri olabilir veya bu özellik hiç desteklenmiyor olabilir.

Fedora 16 DVD'yi başlatmak için aşağıda bir yöntem buldum.

Fedora 15 DVD iso grubundan önyükleme

menü öğesi "Fedora 15 (DVD)" {
 insmod geridöngü
 insmod iso9660
 isofile = "/ Fedora-15-x86_64-DVD.iso" olarak ayarlayın
 geridöngü döngü (hd0,2) $ isofile
 linux (loop) / isolinux / vmlinuz rootfstype = otomatik root = canlı: UUID =: $ isofile ro sessiz
 initrd (döngü) /isolinux/initrd.img
}

ISO dosyanızın, dahili sabit diskin ikinci bölümünün kökünde olduğunu varsayar.

kaynak: bu sayfa

Dağıtımdan bağımsız bir özellik olmadığından google'da diğer dağıtımları da arayabilirsiniz.

Not 1: Fedora 16 ile de çalıştı, sadece test ettim.
Not 2: Iso dosyasını bir yağ veya ext4 bölümüne yerleştirdiğinizde yöntemin işe yaradığı görülüyor.


Grub2'den grml small iso boot

Grml , grub2'den de başlatılabilir. İso findisoyerine iso-scan/filenameönyüklemenin farklı dağıtımlarda farklı seçenekler olarak uygulandığını belirten seçenek yerine seçenek kullandığını unutmayın .

(menuentry "Grml small 2009.10" {
  loopback loop /boot/iso/grml-small_2009.10.iso
  linux (döngü) / önyükleme / grmlsmall / linux26 findiso = / önyükleme / iso / grml-small_2009.10.iso apm = kapanma dilimi = us vga = 791 önyükleme = canlı gösterim noeject noprompt -
  initrd (loop) /boot/grmlsmall/initrd.gz
}

Bu sayfa , Grub2'den başlatılan diğer bazı dağıtıcı örneklere sahiptir.


OpenSUSE 13.1'den önyükleme

İşte işe yarayan tek çözüm (diğerleri bana MBR tanımlayıcısı bulmayı başaramadı ve durdu). Bu örnekte iso, ilk diskin dizindeki üçüncü bölümüne yerleştirilir /home/username/.

menuentry "openSUSE_13.1_GNOME_Live" {
  load_video
  insmod gzio
  insmod part_msdos
  insmod ext2
  root = '(hd0, msdos3)'
  isofrom_device = '/ dev / sda3' ayarını yap
  isofrom_system değerini ayarla = '/ home / username / openSUSE-13.1-GNOME-Canlı-i686.iso'
  set loader = '/ boot / i386 / yükleyici'
  geridöngü döngü $ isofrom_system
  linux (loop) $ yükleyici / linux isofrom_device = $ isofrom_device isofrom_system = $ isofrom_system ramdisk_size = 512000 ramdisk_blocksize = 4096 ro sıçrama
  initrd (loop) $ yükleyici / initrd
}

Kaynak janeppo'nun yorumu .


Fedora 17 Gnome Canlı Iso

İşte Fedora 17'nin önyükleme menüsü grub.cfg girişi. Iso, ilk diskin üçüncü bölümüne yerleştirildi. Ayrıca dosya adı değiştirildi.

menü öğesi "Fedora Live" {
    geridöngü döngü (hd0,3) / fedora.iso
    linux (loop) / EFI / BOOT / vmlinuz0 kökü = canlı: /fedora.iso rootfstype = otomatik ro canlı görüntü sessiz rhgb rd.luks = 0 rd.md = 0
    initrd (hd0,3) / initrd-fromiso
}

Son Not: Bu cevabın bir örnek teşkil ettiğini düşünüyorum. Örneklerle daha fazla ayrıntılandırılmamalı.


Fedora 15 için giriş yukarıda denedim ama işe yaramadı. Herhangi Bir tahmin?
Rahul Virpara


3

İşte önyükleme yapmayı düşündüğüm iso dosyaları grub2.

ISO'ları izleyerek başarıyla önyüklemiş oldum

  • Ubuntu Hassas Pangolin 12.04 ISO
  • SystemRescueCd
  • Önyükleme Donanımı Algılama Aracı
  • Ücretsiz Dos
  • Hiren'in açılış CD'si
  • Ultimate Önyükleme CD'si

Hiren'in Boot CD'si vb. Gibi diğer ISO'ları önyüklemek istiyorsanız, MEMDISKyardımcı programı çekirdek olarak kullanabileceğinizi öğrendim .

MEMDISK'i Nereden Almalı?

Syslinux'u buradan indirin . Masaüstüne taşıyın.

Nasıl çalıştırılır ?

cd ~/Desktop/
tar xvif syslinux-4.05.tar.xz 
cd syslinux-4.05/memdisk/
sudo mkdir /customboot
sudo mv memdisk /customboot/
cd /customboot/
sudo mv memdisk memdisk4.05
gksudo gedit /etc/grub.d/40_custom 

Sonra gedit'te girişlerin altına yapıştırın. Değiştirmen gerekecek set isofile="/path/to/iso-file.iso".

O zaman sorun update-grub. Yeniden başlat ve kontrol et.

40_customDosyalarımdaki girişler .

menuentry "Ubuntu Natty Narwhal 11.04 ISO" {
    set isofile="/OS/ubuntu-11.04-desktop-i386.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject --
    initrd (loop)/casper/initrd.lz
}
menuentry "Ubuntu Precise Pangolin 12.04 ISO" {
    set isofile="/OS/ubuntu-12.04-desktop-i386.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject --
    initrd (loop)/casper/initrd.lz
}
menuentry "SystemRescueCd" {
    set isofile="/OS/systemrescuecd-x86-2.7.0.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/isolinux/rescuecd isoloop=$isofile setkmap=us docache dostartx
    initrd (loop)/isolinux/initram.igz
}
menuentry "Boot Hardware Detection Tool from iso using memdisk 4.05" {
    linux16 /customboot/memdisk4.05 iso
    initrd16 /customboot/hdt.iso
}
menuentry "Free Dos from iso using memdisk 4.05" {
    set isofile="/OS/fdbasecd.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}
menuentry "Hiren's boot CD using memdisk 4.05" {
    set isofile="/OS/Hiren's.BootCD.10.1.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}
menuentry "Ultimate Boot CD iso using memdisk 4.05" {
    set isofile="/OS/ubcd511.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}

Tüm ISO'lar üzerinde tutulur sda6/OSve MEMDISKubuntu yüklü (kök olarak) ve yeniden adlandırılır nerede bölümünde tutulur memdisk4.05buna yoludur böylece/customboot/memdisk4.05

not: fedora verilen diğer cevaplarla işe yaramadı. Hala fedora önyüklemeye çalışıyorum :(.


Not: ISO dosyalarını memdisk ve grub ile yüklerken initrd16, ISO dosyasının 462 MB'tan küçük olması gerekir. İlgili hata mesajları: grub: error: uygun bellek hedefi bulamadı memdisk: MEMDISK: Belirtilen bir ramdisk görüntüsü yok . Daha fazla ayrıntı için buraya ve buraya bakın .
gregn 3

2

ne yazık ki bu önerilerin hiçbiri bana yardımcı olmadı. Böylece yolu buldum ve sizinle paylaşmayı çok isterim. Örneğin, centos'u başlatmak için ihtiyacınız olan: Dizine iso görüntüsü koyun. Kök dir'iniz / dev / sda1 üzerine monte edilmişse, o zaman dir / iso oluşturun ve iso'yu buraya yerleştirin. grub konsoluna gidin (menü grubu göründüğünde 'c' ye basın.)

Uygun cihazı seçin - hd0 sda demektir. İso'nun bulunduğu yeri seçmeniz gerekir.

loopback loop (hd0,msdos1)/iso/Redhat.iso 
linux (loop)/isolinux/vmlinuz inst.repo=hd:sda1:/iso/Redhat.iso 
initrd (loop)/isolinux/initrd.img 
boot

Ve çiz!


1

İstediğiniz şey burada konu dışı, çünkü diğer sistemlerin doğru şekilde önyüklenmeleri için grup girişleri ayarlayabilmelerini gerektiriyor. Evet mümkün.

Ancak ... Multi System'i büyük bir USB sürücüde çok farklı dağıtım ISO'larına sahip olmak için yetkili bir araç bulacaksınız. Gerçekten çok iyi çalıştığını biliyorum ama bir PPA'dan yüklemeniz gerekecek:

http://www.pendrivelinux.com/multiboot-create-a-multiboot-usb-from-linux/

InstallFest'ler için Gparted LiveUSB ve diğer araçların yanı sıra Ubuntu'ları da bir pendrive'da bulabilmem için kullanıyorum. Bonus olarak, Avustralya LoCo ekibinin logosunu belirlediğim menü için özel bir açılış ekranına izin veriyor.

Chris

Belirtildiği gibi, Multisystem istediğinizi yapmak için Grub2'yi kullanır. Bu konu dışı konuya izin verildiğinden veya en azından tolerans gösterildiğinden, Multisystem Grubumdaki Fedora girişi:

 menuentry "Fedora-15-i686-Live-Desktop.iso" {
 linux /fedora1/isolinux/vmlinuz0 live_locale=en_AU.UTF-8 live_keytable=us live_dir=/fedora1 root=UUID=493A-D2EF rootfstype=auto ro liveimg quiet rhgb rd_NO_LUKS rd_NO_MD noiswmd
 initrd /fedora1/isolinux/initrd0.img
 }

Debian tabanlı dağıtımlarda desteklenmediğinden doğrudan ISO'dan önyükleme yapamayacağınızı unutmayın. Paketten çıkarılmış dosyalara, sabit sürücüdeki mevcut ISO değerlerine aşağıdaki gibi ihtiyacınız olacaktır:

chris@chris-office:/media/RED8/fedora1$ ls -l
total 563972
drwx------ 2 chris chris      4096 Feb 11  2011 isolinux
-rw-r--r-- 1 chris chris     43503 May 14  2011 livecd-iso-to-disk
-r--r--r-- 1 chris chris      8192 May 14  2011 osmin.img
-r--r--r-- 1 chris chris 577449984 May 14  2011 squashfs.img

Elbette / fedora / dizininin konumunu ve Fedora'yı başlattığınız bölümün UUID'sini değiştirmeniz gerekecektir. Muhtemelen montaj modunu ro 'dan rw' ye ve ayrıca squashfların izinleri gibi uygun olan başka bir şeyi de değiştirmelisiniz.

Muhtemelen sanal bir kalıcılık diski de kurabilirsiniz, Her ne kadar normal / ana bölümünüzü neden yerleştiremediğinizi bir neden göremesem de. Yine, sadece Multidisk'i kurmanızı ve nasıl yapılacağını öğrenmek için config kendiniz yapmanızı önerebilirim.

Chris


Soru, var olan girişin nasıl oluşturulacağı GRUB2değil, farklı dağıtımlara sahip önyüklenebilir pendrive veya harici sabit diskin nasıl oluşturulacağıdır . BTW GRUB2diğer dağıtımlardan daha iyi bilgi gerektirir, bu yüzden aslında bir soru GRUB(çünkü bazı dağıtımlar hala GRUB kullanır) veya GRUB2.
Rahul Virpara

1
Fedora, Centos ve Suse gibi dağıtımlar için bir gruba giriş yapmanın, gruba ayırdıklarından çok daha fazla alakalı olduklarını ve kesinlikle Ubuntu ile hiçbir ilgisi olmadığını söyleyebilirim.
fabrikatör4

1
@ virpara: Ayrıca ISO'ları sabit sürücüden başlattığınızı da belirtmediniz - çeşitli LiveISO'ları önyüklemek istemenizin en makul nedeni her şeyi yapan bir yükleme cihazına sahip olmaktır. Akıl okuyucu veya diğer dağıtım konusunda uzman değiliz. Son olarak, aslında bu şekilde bir pendrive yapmak için MultiSystem'i kurar ve kullanırsanız, nasıl yapılacağını gösterir - istediğiniz sonuçları elde etmek için grub2'yi kullanır.
fabricator4

1

13.04 bunu başarmak için farklı bir sözdizimi gerektiriyor gibi görünüyor. Herhangi biri ubuntu-13.04-desktop-amd64.iso'yu fiziksel bir diskten başarıyla başlattı mı ve grub sözdizimini paylaşmayı ister miydi?

EDIT: Kendi soruma cevap verdim. Vmlinuz'u mvlinuz.efi olarak yeniden adlandırmanız gerekiyor ve çalışıyor.

menuentry "Ubuntu-13.04-desktop-amd64.iso" --class ubuntu {
set isofile="/archives/ubuntu-13.04-desktop-amd64.iso"
loopback loop (hd1,6)$isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noeject noprompt --
initrd (loop)/casper/initrd.lz
}


0

Multisystem'ı kullanmayı deneyin, istediğiniz liveCD'leri kurun ve ardından dosyaları bilgisayarınıza kopyalayıp grub.cfgs ile birleştirin! (Gerçekten işe yarayıp yaramadığını görmek merak ediyorum!).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.