UEFIではなく起動可能なUSBインストールを作成するにはどうすればよいですか? (オープンシューズ15.3)

UEFIではなく起動可能なUSBインストールを作成するにはどうすればよいですか? (オープンシューズ15.3)

タイトルは基本的にすべてを要約します。 OpenSuSEがインストールされている古いコンピュータ(12.x、IIRC)があり、それを更新したいと思います。 UEFI BIOSはありません。起動可能なUSBインストールを作成したいが、OpenSuSEイメージビルダープログラムからサムドライブに直接ddコピーしようとしているすべての下に、BOOTを持つEFIディレクトリが作成されます。これはターゲットコンピュータから起動しません。実際には認識されません。

私は現在openSUSE-Leap-15.3-NET-x86_64.isoインストールを使用して15.0と15.2を実行しているいくつかの異なるコンピュータでインストールを作成してみました。通常の問題なしに、本質的に同じプロセスを使用して両方のコンピュータにインストールしました。

また、システムの1つもUEFIではないため、生成されたUSBスティックは正しく機能します。どちらも2007年のBIOS日付を持っています。唯一の違いは、1つはIBM BIOS(ThinkPad T60p)を使用し、もう1つはAMI BIOSを使用することです。

PS:BIOSをUSBでのみ起動するように設定しましたが、起動すると、次のメッセージでシステムがハングします。起動可能なドライブが見つかりません。インストールされたLinuxで起動した後、マシンもスティックをマウントして読み取るため、USBハードウェアの不良の問題ではありません。

ベストアンサー1

サムドライブに記録された画像は、次のように表示されます。二つパーティション:最初のパーティションは実際にはEFIディレクトリにルートを持つFAT32パーティションですが、2番目のパーティションはタイプID 17(Debian 10によると「隠しHPFS / NTFS」fdisk)で示されていますが、実際にはISO9660ファイルシステムが含まれています。 ISO内容の。これは、BIOS + UEFIブート可能ハイブリッドブートメディアの非常に一般的な構造です。

# sha256sum openSUSE-Leap-15.3-NET-x86_64-Current.iso
54fb3a488e0fececf45cdaeefaccfb64437745

パーティションサポートが有効なループバックデバイスを使用してUSBサムドライブへの書き込みをシミュレートします。

# losetup -fP --show openSUSE-Leap-15.3-NET-x86_64-Current.iso
/dev/loop0

# fdisk -l /dev/loop0
Disk /dev/loop0: 146 MiB, 153092096 bytes, 299008 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: 0x1d9b6617

Device       Boot Start    End Sectors   Size Id Type
/dev/loop0p1        276   7331    7056   3.5M ef EFI (FAT-12/16/32)
/dev/loop0p2 *     7332 299007  291676 142.4M 17 Hidden HPFS/NTFS

# file -s /dev/loop0p2
/dev/loop0p2: ISO 9660 CD-ROM filesystem data 'openSUSE-Leap-15.3-NET-x86_64160' (bootable)

ただし、問題システムが「工場出荷時の復元」システムイメージングなどの一部の内部目的でパーティションタイプID 0x17を使用または使用できる場合、システムがそのパーティションタイプID 0x17スタイルのガイドラインでBIOSを拒否する理由を説明できます。 。分割。インストーラのサムドライブの2番目のパーティションのパーティションタイプを別の値に変更してみることができます。「拡張パーティション」タイプ以外のすべての値は機能する必要があります。 RedHatは、いくつかの混合ISOイメージにパーティションタイプ0x00を使用したと思います。

MBRコンテンツの16進ダンプは、ISOLINUXBIOSブートローダがインストールされていることを示しています。

# dd if=openSUSE-Leap-15.3-NET-x86_64-Current.iso bs=512 count=1 | xxd -g 1
1+0 records in
1+0 records out
512 bytes copied, 9.4268e-05 s, 5.4 MB/s
00000000: 33 ed 90 90 90 90 90 90 90 90 90 90 90 90 90 90  3...............
00000010: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90  ................
00000020: 33 ed fa 8e d5 bc 00 7c fb fc 66 31 db 66 31 c9  3......|..f1.f1.
00000030: 66 53 66 51 06 57 8e dd 8e c5 52 be 00 7c bf 00  fSfQ.W....R..|..
00000040: 06 b9 00 01 f3 a5 ea 4b 06 00 00 52 b4 41 bb aa  .......K...R.A..
00000050: 55 31 c9 30 f6 f9 cd 13 72 16 81 fb 55 aa 75 10  U1.0....r...U.u.
00000060: 83 e1 01 74 0b 66 c7 06 f1 06 b4 42 eb 15 eb 00  ...t.f.....B....
00000070: 5a 51 b4 08 cd 13 83 e1 3f 5b 51 0f b6 c6 40 50  ZQ......?[Q...@P
00000080: f7 e1 53 52 50 bb 00 7c b9 04 00 66 a1 b0 07 e8  ..SRP..|...f....
00000090: 44 00 0f 82 80 00 66 40 80 c7 02 e2 f2 66 81 3e  [email protected].>
000000a0: 40 7c fb c0 78 70 75 09 fa bc ec 7b ea 44 7c 00  @|..xpu....{.D|.
000000b0: 00 e8 83 00 69 73 6f 6c 69 6e 75 78 2e 62 69 6e  ....isolinux.bin
000000c0: 20 6d 69 73 73 69 6e 67 20 6f 72 20 63 6f 72 72   missing or corr
000000d0: 75 70 74 2e 0d 0a 66 60 66 31 d2 66 03 06 f8 7b  upt...f`f1.f...{
000000e0: 66 13 16 fc 7b 66 52 66 50 06 53 6a 01 6a 10 89  f...{fRfP.Sj.j..
000000f0: e6 66 f7 36 e8 7b c0 e4 06 88 e1 88 c5 92 f6 36  .f.6.{.........6
00000100: ee 7b 88 c6 08 e1 41 b8 01 02 8a 16 f2 7b cd 13  .{....A......{..
00000110: 8d 64 10 66 61 c3 e8 1e 00 4f 70 65 72 61 74 69  .d.fa....Operati
00000120: 6e 67 20 73 79 73 74 65 6d 20 6c 6f 61 64 20 65  ng system load e
00000130: 72 72 6f 72 2e 0d 0a 5e ac b4 0e 8a 3e 62 04 b3  rror...^....>b..
00000140: 07 cd 10 3c 0a 75 f1 cd 18 f4 eb fd 00 00 00 00  ...<.u..........
00000150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001b0: 50 39 00 00 00 00 00 00 17 66 9b 1d 00 00 00 08  P9.......f......
000001c0: 15 00 ef 25 04 03 14 01 00 00 90 1b 00 00 80 25  ...%...........%
000001d0: 05 03 17 3f 20 91 a4 1c 00 00 5c 73 04 00 00 00  ...? .....\s....
000001e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa  ..............U.

2番目のパーティション(BIOSスタイルの起動可能として正しく表示されます)を検索すると、次のものが見つかりますisolinux.bin

# mount -o ro /dev/loop0p2 /mnt
# find /mnt -name isolinux.bin
/mnt/boot/x86_64/loader/isolinux.bin

/boot/x86_64/loader/典型的な SuSE スタイルのブートローダのインストールパスです。したがって、BIOSスタイルのブートのためのすべての基本コンポーネントが所定の位置にあるように見えますが、問題のシステムのBIOSは何らかの理由でこれを拒否しているようです。上記のように、ISO9660パーティションのパーティションタイプIDの選択があなたの問題に関連していると考えられます。

おすすめ記事