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


26

私はそれが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:チェーンロードする方法grubsyslinuxからgrub2

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


1
これはトピックから外れていませんが、まだunixとlinuxのスタック交換が優れていますunix.stackexchange.com
Tachyons

@Rinzwindどうやって??
タキオン

2
問題は、fedora、centOS、opensuseについてです。Ubuntuについてではありません。@abcd
Rinzwind

2
ところで:Fedoraはこれを行うことができません。CentOSは基本的にFedoraです。dracutそれに対する機能要求があり、このためにパッチを適用する必要があります。このパッチはbugzilla.redhat.comで見つけることができます
-Rinzwind

2
重複する可能性がありますか?askubuntu.com/questions/121212/...
fossfreedom

回答:


19

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

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

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

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

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

出典:このページ

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

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


GRUB2からGRML Small ISOを起動する

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

(menuentry "Grml small 2009.10" {
  ループバックループ/boot/iso/grml-small_2009.10.iso
  linux(ループ)/ boot / grmlsmall / linux26 findiso = / boot / iso / grml-small_2009.10.iso apm = power-off lang = us vga = 791 boot = live nomce noeject noprompt-
  initrd(ループ)/boot/grmlsmall/initrd.gz
}

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


isoからopenSUSE 13.1 Liveを起動する

これが唯一の解決策です(他のすべてのユーザーは、MBR IDの検出に失敗して停止しました)。この例では、isoはディレクトリ内の最初のディスクの3番目のパーティションに配置され/home/username/ます。

menuentry "openSUSE_13.1_GNOME_Live" {
  load_video
  insmod gzio
  insmod part_msdos
  insmod ext2
  root = '(hd0、msdos3)'を設定します
  isofrom_device = '/ dev / sda3'を設定します
  isofrom_system = '/ home / username / openSUSE-13.1-GNOME-Live-i686.iso'を設定します
  loader = '/ boot / i386 / loader'を設定します
  ループバックループ$ isofrom_system
  linux(ループ)$ 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" {
    ループバックループ(hd0,3)/fedora.iso
    linux(ループ)/ EFI / BOOT / vmlinuz0 root = live:/fedora.iso rootfstype = auto ro liveimg quiet rhgb rd.luks = 0 rd.md = 0
    initrd(hd0,3)/ initrd-fromiso
}

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


fedora 15で上記のエントリを試しましたが、うまくいきませんでした。推測?
ラーフルヴィルパラ

このような私のエントリのルックスpastebin.com/1ksBVu21
ラーフルVirpara

3

これは、どのisoファイルを使用して起動することがわかったのかgrub2です。

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

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

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

MEMDISKの入手先

こちらから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/OSMEMDISKubuntuがインストールされているパーティション(ルート)に保持されmemdisk4.05ており、そのパスは/customboot/memdisk4.05

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


memdiskおよびgrubを使用してISOファイルをロードする場合initrd16、ISOファイルは462 MBより小さくする必要があることに注意してください。関連エラーメッセージ:grub:エラー:適切なメモリターゲットが見つかりませんでした、memdisk:MEMDISK:ramdiskイメージが指定されていません。詳細については、こちらこちらをご覧ください。
gregn3

2

残念ながら、これらの推奨事項はどれも私を助けませんでした。だから私は道を見つけました、あなたと共有したいと思います。たとえば、centosを起動するには、次のものが必要です。isoイメージをディレクトリに配置します。ルートディレクトリが/ dev / sda1にマウントされている場合は、dir / 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

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


1

ここでは、他のシステムの知識が必要なため、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パーティションをマウントできなかった理由はわかりませんが。繰り返しますが、マルチディスクをインストールし、自分で設定を行ってその方法を学ぶことをお勧めします。

クリス


問題はGRUB2、ブート可能なペンドライブや、異なるディストリビューションを持つ外部ハードディスクを作成する方法ではなく、既存のエントリを作成する方法です。ところでGRUB2、他のディストリビューションよりも優れた知識が必要なので、実際にはGRUB(一部のディストリビューションはまだGRUBを使用しているため)またはに関連する質問GRUB2です。
ラーフルヴィルパラ

1
Fedora、Centos、Suseなどのディストリビューションのgrubエントリを作成することは、grubを行うことよりも、これらのディストリビューションにはるかに関連していると思います。
fabricator4

1
@virpara:また、ISOをハードドライブから起動するように指定しませんでした-さまざまなLiveISOを起動する最も合理的な理由は、すべてをインストールするデバイスがあることです。私たちは読者や他のディストリビューションの専門家ではありません。最後に、MultiSystemを実際にインストールして使用してこの方法でペンドライブを作成する場合、その方法が示されます。grub2を使用して目的の結果を達成します。
fabricator4

1

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

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


0

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.