web-dev-qa-db-ja.com

GRUB 2のISOファイルからFedoraを起動するにはどうすればよいですか?

TL; DR:ISOをファイルシステム/ソース/取得として使用してFedoraを起動するには、GRUB2 menuentry/linuxカーネル起動オプションのどのような構成が必要ですか?単にディスクに書き込む、ISOをVMの仮想光学ドライブに設定する、またはISOのコンテンツを別のドライブパーティションに空にしてチェーンロードするだけでなく、そのように機能するものはありますか?

背景調査

動作するmenuentryが必要です。たくさん試してみましたが、どこに立っているのか思い出せません。久しぶりです。

このリンクはほとんど役に立ったかもしれませんが、そのセクションにはそれ以上の情報はありません: buntuドキュメント-Grub2/ISOBoot/Examples#Fedora

必要なすべてのディストリビューション/ツールを個々のメディアに保存したくないので、これらのリンクは役に立ちません。

このリンクはroot=パラメーターについて何度か言及しているようで、見るのに役立つ場所ですが、状況を理解して修正するためにそれを使用することはできませんでした: Fedora-一般的なカーネルの問題

乱雑に見えない複数のアイテムを含む私のブート構成の古い反復: GitHubGist --Pysis868/grub.cfg

必要なブートファイルのFedoraエントリの「0」を削除し、進行状況のその時点を過ぎたと思います。

ルートファイルシステムを正しくセットアップしようとしているところだと思います。今、私はエラーを受け取ります:

...
[  <system_Step_time> dracut-initqueue[604]: mount: unknown filesystem type 'ntfs'
...<below message repeated>...
[  <system_Step_time> dracut-initqueue[604]: Warning: dracut-initqueue timeout - starting timeout scripts
[  <system_Step_time> dracut-initqueue[604]: Warning: Could not boot.
[  <system_Step_time> dracut-initqueue[604]: /dev/mapper/live-rw does not exist
[  <system_Step_time> dracut-initqueue[604]: /dev/root does not exist
        Starting Dracut Emergency Shell...

'ntfs'エラーは、システムが別のパーティションから読み取ろうとしていることが原因である可能性があります。ブートファイルはすべて、FAT32ファイルシステムの最初のパーティションにあります(コマンドと、LinuxベースのVMの別の1つからの出力)。

username@localhost > Sudo fdisk -l
Disk /dev/sda: 57.9 GiB, 62176362496 bytes, 121438208 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x745111c0

Device     Boot     Start       End  Sectors  Size Id Type
/dev/sda1  *         2048  82915264 82913217 39.5G  c W95 FAT32 (LBA)
/dev/sda2        82915265 121436159 38520895 18.4G  f W95 Ext'd (LBA)
/dev/sda5        82915328  89982975  7067648  3.4G  7 HPFS/NTFS/exFAT
/dev/sda6        89982976 117438463 27455488 13.1G 83 Linux
/dev/sda7       117440512 121436159  3995648  1.9G 82 Linux swap / Solaris

レスキューシェルの内側から:

dracut:/# ls /dev/s* -1
/dev/sda
/dev/sda1
/dev/sda2
/dev/sda5
/dev/sda6
/dev/sda7
/dev/sg0
/dev/sg1
/dev/snapshot
/dev/sr0
/dev/stderr
/dev/stdin
/dev/stdout

/dev/shm:
lldpad.state
dracut:/# fdisk
sh: fdisk: command not found

Fedora-Workstation-Live-x86_64-25-1.3.iso/isolinux/grub.conf関連する抜粋:

title Start Fedora-Workstation-Live 25
    findiso
    kernel @KERNELPATH@ @ROOT@ rd.live.image quiet
    initrd @INITRDPATH@

Fedora-Workstation-Live-x86_64-25-1.3.iso/isolinux/isolinux.cfg関連する抜粋:

menu label ^Start Fedora-Workstation-Live 25
  kernel vmlinuz
  append initrd=initrd.img root=live:CDLABEL=Fedora-WS-Live-25-1-3 rd.live.image quiet

Unetbootinのインストーラーの内部を調べましたが、有用なファイルはまだ見つかりませんでした。

LinuxLive USB Creator 2.9.4\sources\LiLi\Boot_Menus.au3関連する抜粋:

         & @LF & "label live" _
         & @LF & "  menu label " & Translate("Live Mode") _
         & @LF & "  kernel "&$vmlinuz_file _
         & @LF & "  append initrd="&$initrd_file&" root=UUID=" & $uuid & " rootfstype=vfat ro "&$liveimg_text&" quiet rhgb rd.luks=0 rd.md=0 rd.dm=0" _
         & @LF & "  menu default"

/boot/grub2/grub.cfgの現在の厄介なテストブロックからの関連する抜粋:

menuentry "TEST Fedora-Workstation-Live-x86_64-25-1.3 TEST 2" {
  set isofile="$linuxPath/Fedora-Workstation-Live-x86_64-25-1.3.iso"
  loopback loop "$isofile"
  # linux (loop)/isolinux/vmlinuz root=live:CDLABEL=Fedora-WS-Live-25-1-3 rd.live.image quiet
  # linux (loop)/isolinux/vmlinuz root=UUID="2016-11-15-22-03-09-00" rootfstype=vfat ro rd.live.image quiet rhgb rd.luks=0 rd.md=0 rd.dm=0
  linux (loop)/isolinux/vmlinuz iso-scan/filename="$isofile" rootfstype=vfat ro rd.live.image quiet rhgb rd.luks=0 rd.md=0 rd.dm=0
  # linux (loop)/isolinux/vmlinuz root=CDLABEL=Fedora-WS-Live-25-1-3 rd.live.image quiet
  initrd (loop)/isolinux/initrd.img
}

トピックに関連するリンクは、Fedoraを具体的にカバーしていません: SuperUser --grub:ISOから起動

これが役立つかどうかはわかりませんが、searchコマンドは適切だと思います: askubuntu-GRUB2の.isoファイルから起動する方法?[重複]

ハードディスクとパーティションのファイルシステムから直接これを使用することはありません。

これは特にroot= boot/kernelパラメーターをカバーしていませんでしたが、9.1.4. Specifying the Installation Methodセクションの値に似たテンプレート形式を持っているようです: Fedoraドキュメント-第9章ブートオプション

インストール方法-オプション形式

  • CDまたはDVDドライブ-repo=cdrom:device
  • ハードドライブ-repo=hd:device/path
  • HTTPサーバー-repo=http://Host/path
  • FTPサーバー-repo=ftp://username:password@Host/path
  • NFSサーバー-repo=nfs:server:/path
  • NFSサーバー上のISOイメージ-repo=nfsiso:server:/path

実際、今回は「ブートオプション」ページへのリンクと連動しているヘルプバブルを読むと、カーネルオプションの完全なリストについては、/usr/share/doc/kernel-doc-version/Documentation/kernel-parameters.txtパッケージからkernel-docファイルを読み取ることができることがわかります。 。

そのパッケージはデフォルトで私のF25システムにインストールされておらず、リポジトリにも表示されませんでした。主にサフィックスcorePAEheadermodulesdebugdevelrpm、およびtoolsが付いたkernel-パッケージのみを見ました。

環境

ホスト:Windows 10 Pro x64

Hyperviser:Oracle VM VirtualBox Extension Pack5.1.22を搭載したOracleVirtualBox 5.1.22は、直接ディスクアクセスの管理者として実行されました

VM Specs.png

TestPhysicalDrive3.vmdk

1
Pysis

いくつかのGoogle検索の別の反復から、このリンクは良い道のように見えました: askubuntu --Grub2/ISOBoot#Example_ISO_Menuentries

ここで私を導きました: askubuntu --Grub2/ISOBoot/Examples#Gparted

ブートデバイスのランダムな他のセクションで作業しているときに、サンプルコードのリンクに気づき、ここに移動しました: ArchLinux-マルチブートUSBドライブ-Fedora#Workstation_live_medium

そしてそれは起動します!

ArchLinuxには常に優れたwikiページがあります:)

2
Pysis