Как создать загрузочную USB-установку без -UEFI? (openSuSE 15.3)

использовать

find /path/to/directory/ -type f -name "hosts" -not -path "*ghostscript*"
0
21.08.2021, 05:16
1 ответ

Обратите внимание, что образ, записанный на флэш-накопитель, должен отображаться как два раздела :первый действительно является разделом FAT32 с каталогом EFI в корне, но второй раздел, хотя и помечен типом ID 17 («Скрытая HPFS/NTFS» в соответствии с Debian 10 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)

Однако, если ваша проблемная система использует (или способна использовать )идентификатор типа раздела 0x17 для какой-либо внутренней цели, например. для образа системы «восстановление до заводских настроек по умолчанию», то это может объяснить, почему система отклоняет загрузку в стиле BIOS -с этого раздела. Вы можете попробовать изменить тип раздела второго раздела флэш-накопителя установщика на другое значение. Должны работать любые значения, кроме любого из типов «расширенных разделов»; Я полагаю, что RedHat использовал тип раздела 0x00 для некоторых своих гибридных образов ISO.

Шестнадцатеричный дамп содержимого MBR предполагает, что ISOLINUXбыл установлен загрузчик BIOS:

# 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  D.....f@.....f.>
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.

И если мы найдем второй раздел (, который правильно помечен как загрузочный в стиле 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 может быть связан с вашей проблемой.

0
22.08.2021, 22:51

Теги

Похожие вопросы