web-dev-qa-db-ja.com

FedoraやCentOSなどのUbuntu以外のライブISOイメージから起動する方法は?

次のようにloopbackでできることがわかりました

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
}

しかし、それはubuntuまたはその派生物でのみ動作します。 Fedora、cent、opensuseなどの他のライブイメージをブートする場合、どのように記述する必要がありますか?

編集:私はいくつかの他のエントリを見つけましたが、それらのすべてはおそらくDebianベースです。

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:grub2からgrubsyslinuxをチェーンロードする方法

Edit3:リムーバブルデバイスなしで他のライブイメージを起動し、grub2を使用するため、grub2に固有のメニューエントリが必要です。

26
Rahul Virpara

Isoからの起動はディストリビューションでサポートする必要がある機能であり、iso-scan/filename=オプションはFedoraなどでは機能しません。これらには、この機能の他のカーネルオプションがある場合や、この機能がまったくサポートされていない場合があります。

Fedora 16 DVDをブートする方法を見つけました。以下にあります。

GrubからFedora 15 DVD isoを起動する

 menuentry "Fedora 15(DVD)" {
 insmod loopback 
 insmod iso9660 
 set isofile = "/ Fedora-15-x86_64-DVD.iso" 
 loopback loop(hd0,2)$ isofile 
 linux(loop)/ isolinux/vmlinuz rootfstype = auto root = live:UUID =:$ isofile ro quiet 
 initrd(loop)/ isolinux /initrd.img
}

Isoファイルが内部ハードディスクの2番目のパーティションのルートにあると想定しています。

ソース:このページ

ディストリビューションに依存しない機能ではないため、Googleで他のディストリビューションを検索できます。

注1:Fedora 16でも動作しましたが、テストしたところです。
注2:isoファイルをfatまたはext4パーティションに配置すると、この方法が機能したようです。


GRUB2からGRML Small ISOを起動する

Grml はgrub2から起動することもできます。 iso-scan/filenameオプションの代わりにfindisoオプションを使用し、isoからの起動が異なるディストリビューションで異なるオプションとして実装されていることを示していることに注意してください。

(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 
} 

このページ には、Grub2から起動する他のディストリビューションの例がいくつかあります。


IsoからopenSUSE 13.1 Liveを起動する

ここで働いた唯一の解決策があります(他のすべてが私にMBR識別子を見つけることができなかったを与えて停止しました)。この例では、isoはディレクトリ/home/username/の最初のディスクの3番目のパーティションに配置されます。

 menuentry "openSUSE_13.1_GNOME_Live" {
 load_video 
 insmod gzio 
 insmod part_msdos 
 insmod ext2 
 set root = '(hd0 、msdos3) '
 set isofrom_device ='/dev/sda3 '
 set isofrom_system ='/home/username/openSUSE-13.1-GNOME-Live-i686.iso '
 set loader = '/ boot/i386/loader' 
 loopback loop $ isofrom_system 
 linux(loop)$ loader/linux isofrom_device = $ isofrom_device isofrom_system = $ isofrom_system ramdisk_size = 512000 ramdisk_blocksize = 4096 ro quiet splash $ vt_handoff preloadlog =/dev/null showopts 
 initrd(ループ)$ loader/initrd 
} 

ソースは janeppoのコメント です。


Fedora 17 Gnome Live Iso

Fedora 17のブートメニューgrub.cfgエントリを次に示します。isoは最初のディスクの3番目のパーティションに配置されます。また、ファイル名が変更されます。

 menuentry "Fedora Live" {
 loopback loop(hd0,3)/Fedora.iso 
 linux(loop)/ EFI/BOOT/vmlinuz0 root = live:/Fedora.iso rootfstype = auto ro liveimg quiet rhgb rd.luks = 0 rd.md = 0 
 initrd(hd0,3)/ initrd-fromiso 
} 

最後の注意:この答えは一例だと思います。例でこれ以上詳しく説明しないでください。

19
Anwar

grub2を使用して起動することがわかったISOファイルを次に示します。

次のISOを正常に起動しました

  • Ubuntu Precise Pangolin 12.04 ISO
  • SystemRescueCd
  • ブートハードウェア検出ツール
  • 無料Dos
  • ハイレンのブートCD
  • 究極のブートCD

HirenのブートCDなど、他のISOをブートする場合は、カーネルとしてMEMDISKユーティリティを使用できることがわかりました。

MEMDISKの入手先?

here からSyslinuxをダウンロードします。デスクトップに移動します。

それを機能させるには?

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 

次に、geditの下のエントリを貼り付けます。 set isofile="/path/to/iso-file.iso"を変更する必要があります。

次に、update-grubを発行します。再起動して確認します。

40_customファイルの私のエントリ。

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
}

すべてのISOはsda6/OSに保持され、MEMDISKはubuntuがインストールされているパーティション(ルート)に保持され、memdisk4.05に名前が変更されます。したがって、/customboot/memdisk4.05

note:Fedoraは、指定された他の回答では動作しませんでした。まだFedoraを起動しようとしています:(。

3
Rahul Virpara

UsbスティックやCDへの書き込みを必要とせずに、新しいisosをテストするためにgrub2のループバックを使用することは非常に貴重です。同様の機能を実現するために、Fedoraに対して提出されたバグがあります。現在のステータスを追跡するには少し時間がかかります。

1
grantbow

13.04では、これを実現するために別の構文が必要と思われます。誰かが物理ディスクからubuntu-13.04-desktop-AMD64.isoを正常に起動し、grub構文を共有したいと思いますか?

編集:私自身の質問に答えました。 vmlinuzの名前をmvlinuz.efiに変更する必要があり、機能します。

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
}
1
user130567

残念ながら、これらの推奨事項はどれも私を助けませんでした。だから私は道を見つけました、あなたと共有したいと思います。たとえば、centosを起動するには、次のものが必要です。isoイメージをディレクトリに配置します。ルートディレクトリが/ dev/sda1にマウントされている場合は、ディレクトリ/ isoを作成し、そこにisoを配置します。 GRUBコンソールに移動します(メニューGRUBが表示されたら、「c」を押します)。

適切なデバイスを選択します-hd0はsdaを意味します。 isoが配置されている場所を選択する必要があります。

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

そして起動してください!

ここでは、他のシステムの知識が必要であるため、grubエントリをセットアップしてそれらを正しく起動する必要があるため、ここでのトピックはオフです。はい、可能です。

ただし... Multi Systemは、1つの大きなUSBドライブで非常に多くの異なるISOを使用できる有能なツールです。私はそれが実際に非常にうまくいくと思いますが、PPAからインストールする必要があります:

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

InstallFestsの1つのペンドライブにGparted LiveUSBと他のツール、およびUbuntuのツールをインストールできるようにするために使用します。ボーナスとして、メニューにカスタムスプラッシュスクリーンを使用できます。これは、オーストラリアのLoCoチームのロゴに設定しています。

クリス

前述のように、マルチシステムはGrub2を使用して、必要なことを行います。このオフトピックスレッドは許可されているか、少なくとも許容されているため、マルチシステムGrub2からのFedoraエントリは次のとおりです。

 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ベースのディストリビューションではサポートされていないため、ISOから直接起動できないことに注意してください。次のように、ハードドライブで利用可能なISOから解凍されたファイルが必要になります。

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

もちろん、Fedoraを起動するパーティションの/ Fedora /ディレクトリの場所とUUIDを変更する必要があります。マウントモードをroからrwに変更し、squashfsのアクセス許可など、他の適切なものも変更する必要があります。

仮想永続ディスクをセットアップすることもできますが、通常の/ homeパーティションをマウントできなかった理由はわかりませんが。繰り返しますが、マルチディスクをインストールし、自分で設定を行ってその方法を学ぶことをお勧めします。

クリス

1
fabricator4

マルチシステムを使用して、必要なliveCDをインストールしてから、ファイルを/にコピーし、grub.cfgsをマージしてみてください! (実際に動作するかどうかを知りたいです!)。

0
WindowsEscapist