Проблемы с установкой начального загрузчика на флеш-накопитель
В статье содержатся 5 вопросов и ответов по следующим темам:
1. Очистка mbr флешки в Windows
2. Конвертирование ISO-файла в гибридный ISO-файл (только Linux)
3. Создание загрузочной флешки с сохранением изменений (Linux, Windows, Mac OS X)
4. Создание мультизагрузочной флешки (Windows)
5. Восстановление таблицы разделов и загрузчика mbr (Hiren’s BootCD).
Для применения всех приведенных в статье решений (кроме 2 — работает только в Linux) потребуются операционные системы Microsoft Windows и Linux (или Mac OS X), утилиты Windows USB DVD Download Tool и RMPrepUSB (Windows), dd (Linux, Mac OS X), isohybrid (Linux), Unetbootin (Windows, Linux, Mac OS X), md5sum (Linux, Mac OS X), пустая флешка объемом не менее 8 Гб, а также «спасательная» флешка Hiren’s BootCD 15.2.
1. Вопрос. Когда я устроился на новую работу, первые дни были посвящены обучению. На обучении всем ученикам было выдано по жесткому диску, содержащему инструкции и программное обеспечение. В одной из инструкций был приведен пример использования утилиты Windows 7 USB/DVD Download tool. С ее помощью в этом примере на флеш-накопитель записывался специальный ISO-образ операционной системы Windows 7. На практике этот способ не работал. Что делать?
Ответ. Конечно, проводить диагностику и решать проблему. Она может быть в неисправном ISO-файле (проверить его поможет утилита md5sum), неисправной флешке (открывается ли она в файловом менеджере Windows?) и неправильном коде mbr. В последнем случае перед использованием WUDT полезно будет очистить mbr. Это можно сделать с помощью командной строки, используя следующие команды:
Здесь N — номер флеш-накопителя в списке всех устройств, отображаемых с помощью команды list disk
2. Я захотел установить на домашний компьютер еще одну операционную систему — Mageia4.1. Для этого я скачал с офицального веб-сайта ISO-образ CD диска и записал его на флешку с помощью команды dd. Но при попытке загрузить с ее помощью компьютер выдается сообщение об ошибке: isolinux.bin missing or corrupt.
Ответ. Похоже, скаченный Вами ISO-образ не является гибридным, т.е. он предназначен только для записи на CD и не подходит для записи на флеш-накопитель. Решить эту проблему можно с помощью утилиты isohybrid, входящей в состав syslinux. Она позволяет сконвертировать указанный ISO-образ для CD/Dvd в гибридный ISO-образ с таким же именем.
3. В ночную смену бывает время, когда нет работы и нечего делать. Чтобы как-то себя занять, я решил взять с собой Linux-LiveUSB, чтобы с пользой использовать свободное время (что запрещено по регламенту). Записав с помощью команды
на флешку гибридный ISO-образ ElementaryOS 0.4 ‘Loki’, я загрузил эту операционную систему на компьютере. Далее я создал в каталоге Документы пустой файл, чтобы узнать, сохранится ли он после перезагрузки, как это было с загрузочной флешкой openSUSE 13.1 GNOME, созданной аналогичным образом, с которой я смог не только создать такой файл, но и установить необходимые программы, не исчезнувшие после перезагрузки компьютера. Но с Elementary OS 0.4 такой трюк не прошел. Можно ли сделать так, чтобы при использовании загрузочной флешки с Elementary OS 0.4 изменения сохранялись также, как и в случае использования openSUSE 13.1 GNOME? Почему в openSUSE это работает, а в Elementary OS — нет?
При первой загрузке флешки openSUSE создается новый раздел с именем hybrid, содержащий файловую систему, в которой сохраняются все изменения, сделанные при работе с LiveUSB, включая созданные файлы и установленные программы. Elementary OS 0.4 самостоятельно так делать не умеет, но ей можно в этом помочь.
Во-первых, можно создать такой раздел, используя для записи iso-образа Elementary OS 0.4 на флешку утилиту Unetbootin. Для этого в ней можно указать место, используемое для сохранения изменений после перезагрузки (только для ubuntu и основанных на ней дистрибутивов), например 4096 Мбайт (см. картинку).
Изображение 1. Окно Unetbootin
Второй способ — вручную создать на флешке второй раздел с именем «casper-rw» (например, с помощью GParted) и указать в параметрах загрузки ядра ключевое слово «persistent», как это сделано в следующем ответе.
4. Я научился записывать на флеш-накопитель гибридные ISO-образа дистрибутивов ElementaryOS 0.4, Mageia4.1 и openSUSE 13.1 GNOME с помощью команды dd, но этот способ не подходит для того, чтобы создать мультизагрузочную флешку. Как создать такую флешку?
Ответ. Это можно сделать, добавив новую операционную систему в загрузочное меню установленного на флешку загрузчика операционной системы. Такие загрузчики бывают разные, также как и способы их установки на флеш-накопитель. С помощью конфигурационного файла меню загрузчика можно сделать так, чтобы при выборе в меню операционной системы загрузчик передавал управление ее ядру и создавал временную файловую систему с помощью ее начального ram-диска, а ядро загружало операционную систему, использовуя при этом файл iso-образа операционной системы. Для этого можно скопировать на флешку файлы iso-образа, ядра и начального ram-диска этой операционной системы. Таким образом, количество загружаемых с помощью такой флешки операционных систем, которые умеет загружать установленный на ней загрузчик, ограничено только ее объемом.
Файлы ядра и начального ram-диска обычно можно получить, распаковав их из файла iso-образа операционной системы с помощью архиватора. В Elementary OS, также как и в Ubuntu, они называются casper/vmlinuz и casper/initrd.lz
Один из способов установки загрузчика операционной системы на флешку заключается в использовании утилиты RMPrepUSB. Эта утилита имеет графический интерфейс и работает в Windows. Она позволяет установить загрузчики grub4dos и syslinux, обнулить таблицу разделов, создать первичный раздел, отформатировать его и даже проверить работоспособность загрузочного флеш-накопителя в эмуляторе QEMU.
Изображение 2. Окно RMPrepUSB
Для того, чтобы загрузить Elementary OS 0.4 загрузчиком grub4dos, установленным с помощью RMPrepUSB, необходимо добавить в загрузочное меню пункт, при выборе которого начинается загрузка этой операционной системы. Для этого создаем конфигурационный файл меню загрузчика grub4dos, который называется menu.lst, и, предполагая, что iso-образ, файлы ядра и начального ram-диска находятся на флешке в каталоге elementaryos, добавляем в него следующие строки:
В openSUSE файлы ядра и начального ram-диска называются boot/i386/loader/linux и boot/i386/loader/initrd. Для добавления в загрузочное меню запуска openSUSE 13.1 достаточно добавить в конфигурационный файл меню перед строкой title Reboot следующие строки (предполагая, что iso-образ, файлы ядра и начального ram-диска находятся на флешке в каталоге opensuse):
В такое загрузочное меню можно добавлять не только операционные системы, но и утилиты для проверки оперативной памяти компьютера, поверхности жесткого диска, сброса или изменения пароля Windows и т.п. Например, можно добавить в него вызов программы для проверки памяти MemTest86+, скопировав в корневой каталог флешки файл memtest.img и добавив в конфигурационный файл menu.lst перед title Reboot следующие строки:
Файл memtest.img можно скачать с веб-сайта memtest.org в откомпилированном загрузочном iso-файле, содержащимся в zip- или gz-архиве.
5. Я использовал утилиту parted для этого, чтобы очистить таблицу разделов в mbr флешки, но по ошибке очистил таблицу разделов своего жесткого диска. После перезагрузки система не загрузилась. К счастью у меня оказалось несколько загрузочных флешек, содержащих различные дистрибутивы Linux. Как восстановить систему?
Ответ. Этот ситуации можно было бы избежать, при вызове parted сразу указав устройство, с которым Вы будете работать, например так:
Для восстановления таблицы разделов можно использовать утилиту TestDisk, которая входит в состав некоторых «спасательных» дистрибутивов Linux, таких как Parted Magic LiveCD или SystemRescueCD. Сейчас дистрибутив Parted Magic является платным, но можно использовать его бесплатную устаревшую версию, которая входит в состав Hiren’s BootCD. В меню Hiren’s BootCD она называется «Linux based rescue environment (Parted Magic 2012-10-10)». С помощью этих дистрибутивов можно восстановить не только таблицу разделов, но и загрузчик mbr, используя команду chroot.
Использование chroot для восстановления загрузчика Linux достаточно популярно и подробности об этом можно узнать на различных ресурсах в Интернете, включая видео на YouTube.
Как определить, является ли ISO гибридом?
«Более свежим примером является выпуск гибридных файлов ISO, которые можно загружать или запускать как с дисков BD, так и с DVD и USB-накопителей, когда образ записывается на любое из этих устройств хранения».
Как я использую стандартные инструменты Linux, чтобы определить, является ли ISO, который я скачал (отредактировал: или создал с помощью genisoimage), гибридным?
4 ответа 4
Запустите fdisk для файла. Если это показывает что-то значимое, это гибрид.
Запустите команду file для соответствующего образа ISO. Результат выполнения этой команды на негибридном ISO будет выглядеть примерно так
image.iso: ISO 9660 CD-ROM filesystem data ‘foo’ (bootable)
в то время как результат выполнения этой команды на гибридном ISO будет выглядеть примерно так
image.iso: DOS/MBR boot sector ISO 9660 CD-ROM filesystem data (DOS/MBR boot sector) ‘foo’ (bootable); partition 1 : active, start-CHS (0x0,0,1), end-CHS (0x288,63,32), startsector 0, 1329152 sectors
Создать загрузочное устройство USB из образа ISO легко и безопасно.
Не хотите испортить систему командой dd? Создайте загрузочный USB из ISO в одну строку [посмотрите это в действии].
Работает без проблем с гибридными и негибридными ISO (совместимыми с SYSLINUX или UEFI), такими как любые linux ISO, Windows ISO или спасательные live-диски, такие как UltimateBootCD. Вам не нужно ничего подстраивать: bootiso проверяет файл ISO и выбирает лучший способ сделать ваш USB загрузочным.
Live USB: почему ОС Windows требует MBR для установки?
3 ответов
ваша посылка неверна. Не все дистрибутивы Linux могут загружаться только dd изображение на флэш-накопитель. Например, в старых версиях Ubuntu вы должны использовать инструмент для создания Ubuntu install / live USB drive. В Ubuntu 5.x или 6.x вы даже должны использовать отдельные компакт-диски для живой сессии и для установки.
большинство дистрибутивов Linux в настоящее время используют гибридные ISOs, так что вы можете просто писать весь ISO на диск и он будет работать. Однако это не означает, что все дистрибутивы Linux поддерживать это. Knoppix только что изменился на гибридный ISO в последняя версия (8.1)
что такое гибридный образ?
обычный ISO будет иметь все нули в начале. Гибридный ISO будет содержать MBR в начале, так что BIOS будет думать, что это допустимый загрузочный сектор и загрузить его
гибридная настройка BIOS и EFI с CD / DVD и USB накопителя
каталог загрузки EL Torito может предложить в той же файловой системе ISO альтернативные загрузочные образы для PC-BIOS и для EFI.
но El Torito, то это интерпретируется прошивку, только если представленные на оптический носитель: компакт-диски, DVD, BD-диски. Для загрузки PC-BIOS и EFI с USB-накопителя или других устройств, подобных жесткому диску, требуется MBR и, при желании, для GPT.
загрузчики Linux поддерживают загрузку с MBR и GPT в системах BIOS и UEFI, так что проблем не будет. Однако флэш-накопитель USB больше не будет доступен для записи в Windows, потому что он распознается как компакт-диск или DVD-диск. Вам нужно очистить диск и воссоздать с помощью MBR или GPT схемы, как этой. Вам еще нужны инструменты, чтобы сделать загрузочную флешку Linux, если вы хотите использовать диск для обычного хранения данных, а также загрузки или если вы хотите Live boot с постоянными данными.
OTOH Windows не использует гибридный ISO и обычно создатели USB-installer просто копируют загрузку.ВИМ, установить.WiM и другие необходимые файлы флэш загрузчик Windows на диск. Поскольку загрузчик Windows требует GPT на системах UEFI и MBR на Системы BIOS, Если вы загружаете MBR флэш-накопитель на UEFI он не будет работать.
Что такое гибридный ISO-образ?
Гибридный диск — это оптический диск, на котором установлено несколько файловых систем, обычно ISO 9660 и HFS + (или HFS на старых дисках). … Гибридный диск ISO 9660 / HFS имеет дескриптор первичного тома ISO 9660, что делает его действительным диском ISO 9660 и разделом Apple.
В чем разница между ISO-образом и DD-образом?
Режим ISO просто позволяет вам получить доступ к диску в Windows, и он будет отображаться как компакт-диск. В режиме DD образ записывается на диск в исходном, необработанном виде, в результате чего диск больше не будет отображаться в проводнике Windows.
Что такое изогибрид?
isohybrid — это инструмент, позволяющий сделать Ubuntu iso загрузочным — см. mkusb. При клонировании ISO-файла на запоминающее устройство создается загрузочный диск, при условии, что это гибридный ISO-файл, постобработанный с помощью isohybrid. … После использования такого USB-накопителя вы создаете новую таблицу разделов и файловую систему, если хотите использовать ее для других целей.
Могу ли я записать ISO-образ на USB?
Вставьте флэш-накопитель или другое USB-устройство в компьютер, на который вы хотите «записать» ISO-файл, если он еще не подключен. Запись ISO-образа на USB-накопитель сотрет все на диске! Прежде чем продолжить, убедитесь, что USB-накопитель пуст или что вы создали резервные копии файлов, которые хотите сохранить.
Что такое загрузочный ISO-образ?
Образы ISO являются основой загрузочного CD, DVD или USB-накопителя. … Например, WinISO делает компакт-диски и DVD загрузочными из образов ISO, а Rufus делает то же самое для USB-накопителей. См. Rufus, ISO 9660, UDF, DMG и образ диска. ЭТО ОПРЕДЕЛЕНИЕ ТОЛЬКО ДЛЯ ЛИЧНОГО ИСПОЛЬЗОВАНИЯ.
Что такое формат изображения DD?
Обзор. Файл DD — это файл образа диска и копия жесткого диска. Файл с расширением. dd обычно создается с помощью инструмента создания образов под названием DD. Утилита предоставляет интерфейс командной строки для создания образов дисков в системе под управлением ОС UNIX и LINUX.
Тебе нужен Руфус?
Rufus также используется для создания загрузочных USB-устройств для дистрибутивов Linux, и это наиболее распространенный вариант использования, о котором я знаю, для Windows на домашней странице Microsoft есть универсальное решение, которое создает загрузочную USB-флешку для Windows 10, поэтому использовать Rufus не нужно. для окон, но все же остается удобным, если вы …
Загрузочный ли файл ISO?
Самый быстрый способ узнать, является ли ISO-образ загрузочным, — это просмотреть и просмотреть его содержимое. К счастью, многие программы Windows (7-zip, PeaZip, WinRAR) могут это сделать. В Windows 8 вы можете изначально подключить образ диска к виртуальному диску, чтобы просмотреть его содержимое. Откройте файл ISO и посмотрите, есть ли в нем папка «BOOT».
Как записать ISO?
Как записать файл ISO на диск
Как создать ISO-образ?
Чтобы создать ISO-образ с помощью WinCDEmu, сделайте следующее:
Что такое полная форма ISO-файла?
ISO расшифровывается как Международная организация по стандартизации, но это не то, что. iso расширение файла означает. … ISO-образ — это архивный файл оптического диска, тип образа диска, состоящий из содержимого данных из каждого записанного сектора на оптическом диске, включая файловую систему оптического диска.
Как мне узнать, загрузочный ли мой ISO?
Откройте PowerISO. Затем нажмите ФАЙЛ, а затем ОТКРЫТЬ, найдите и откройте файл ISO. Когда вы открыли этот ISO-файл, если этот файл является загрузочным, в левом нижнем углу отображается «Загрузочный образ». Если это не загрузочный образ, то он показывает «Не загружаемый образ».
Ubuntu ISO загрузочный?
ISO-образы Ubuntu позволяют загружаться непосредственно с жесткого диска с помощью GRUB 2 и устраняют необходимость в записи CD / DVD. Эта функция позволяет пользователю загружаться и использовать функцию «Попробовать Ubuntu» на установочном компакт-диске Ubuntu, а также устанавливать Ubuntu непосредственно с ISO на жестком диске.
Isohybrid
ISO 9660 filesystems created by the mkisofs command as described in the ISOLINUX article will boot via BIOS firmware, but only from optical media like CD, DVD, or BD.
The isohybrid feature enhances such filesystems by a Master Boot Record (MBR) for booting via BIOS from disk storage devices like USB flash drives.
ISOLINUX provides two alternative programs to apply this feature on image files or block devices with ISO 9660 filesystems:
There is also an additional isohybrid feature for UEFI.
Contents
Options
| Option | Valid Range | Default Value | Meaning |
|---|---|---|---|
| -h # | [1, 255] (i) | 64 | Number of default geometry heads |
| -s # | [1, 63] (i) | 32 | Number of default geometry sectors |
| -entry # | [1, 4] | 1 | Specify partition entry number |
| -offset # | [0, 64] | 0 | Specify partition offset |
| -type # | [0, 255] | 0x17 «Windows hidden IFS» | Specify partition type |
| -id # | [0, 0xffffffff] | (random) | Specify MBR ID |
| -forcehd0 | Always assume we are loaded as disk ID 0 | ||
| -ctrlhd0 | Assume disk ID 0 if the Ctrl key is pressed | ||
| -partok | Allow booting from within a partition |
The basic usage is simple. Create a bootable ISO 9660 image file named «output.iso» by either mkisofs, genisoimage, or xorriso and then treat it by:
Both isohybrid programs can take expert options, listed by:
The resulting ISO image needs no further treatment by isohybrid tools.
MBR selection
When booting a «healthy» BIOS:
| Option | MBR File | Comments |
|---|---|---|
| no options (default) | isohdpfx.bin | Boot from base device |
| —forcehd0 | isohdpfx_f.bin | Boot from BIOS disk 0x80 |
| —ctrlhd0 | isohdpfx_c.bin | If the Ctrl key is held during boot time, then boot from BIOS disk 0x80 |
| —partok | isohdppx.bin | Boot from a partition device (e.g. /dev/sdx1 rather than /dev/sdx) then boot from BIOS disk 0x80; If the ISO 9660 image includes a UEFI bootloader capable of booting optical media in UEFI mode, then the isohybrid command can also achieve an equivalent result for UEFI systems just as described for BIOS ones. The additional isohybrid feature for UEFI adds a partition to the MBR partition table pointing to the same file in the ISO 9660 filesystem as does the El Torito catalog entry for EFI. This file contains a FAT filesystem with boot equipment from which the UEFI firmware will be able to start the desired operating system. Furthermore, isohybrid for UEFI creates a GUID Partition Table (GPT) with a partition pointing to that file. It can be brought into the ISO 9660 filesystem as second boot image with options «-eltorito-alt-boot» and «-e» by Fedora’s variant of genisoimage, or by xorriso: With mkisofs, the equivalent command is: The isohybrid tool compiled from utils/isohybrid.c has an option to add a suitable MBR partition and GPT to such a UEFI bootable filesystem: The ISO 9660 filesystem is then supposed to boot from optical media and from disk storage via BIOS and via UEFI. Unfortunately, there seem to be some UEFI implementations that boot from MBR and fail to boot if GPT is present. Therefore, some Linux distributions have special ISO images for amd64 containing only BIOS equipment. xorriso can add the GPT equipment by its «-isohybrid-gpt-basdat» option: Again, the resulting ISO image file needs no further treatment by isohybrid tools. Copying onto USB stick by shell commandsAs any other ISO image, the content of an isohybrid image can be burned to optical media, or alternatively it can be extracted onto a USB stick which can be eventually booted by SYSLINUX. The advantage of an isohybrid image is that it can also be easily «burned» (as opposed to extracting its content) onto storage media such as USB sticks. Such storage media then can boot the system in a similar way as the read-only optical media. The properly equipped ISO image can be put on a USB flash drive. Unless option «--partok» is used, it has to be copied to the base disk device so that it overwrites the partition table. Partition editors may then be used, in order to make the remaining storage capacity available as additional partition for a read-write filesystem. Verify device address or make a backupThe main problem on a Linux system is that you need superuser power to overwrite the whole USB stick, and that this power suffices to also spoil the content of your hard disk. So first verify that the device file address really leads to the intended device (e.g. by reading a few megabytes and watching it blink). If the USB stick is supposed to be Linux device «/dev/sdb«: or by making a backup of its complete content in a compressed disk file : Write to USB stickOnce you are convinced that this is the right device file address, copy the ISO image onto the USB stick by: Eventually restore backupTo later restore the original content of the USB stick, take the same care to really use the correct address and then: ISO images that were prepared by «--partok» (i.e. with «isohdppx*.bin«) have to be dd’ to a partition device (e.g. «/dev/sdb1» rather than «/dev/sdb«). Such an ISO partition may then be booted by chainloading or by a suitable MBR at the start of the base disk device. |




