Вопрос или проблема
Представим, что я скачал загрузочный ISO-образ какой-то дистрибуции Linux, потому что хочу установить Linux позже.
Я могу записать этот ISO на свою USB флешку. Однако устройство будет сохранять файловую систему iso9660
, поэтому оно не будет доступно для записи. Я могу установить Linux, но не могу сделать ничего другого со своей USB флешкой.
Итак, возможно ли преобразовать ISO в “обычную” файловую систему ext4
и при этом сохранить загрузочность USB-накопителя?
iso9660
не делает его загрузочным – это файловая система, которую используют CD/DVD, и ваша прошивка действительно будет искать специальные поля заголовка ISO9660 если вы загружали этот образ с реального CD, но они становятся совершенно незначительными при загрузке с любого другого типа диска. USB-накопитель загрузочный только потому, что образ был “гибридным ISO” с традиционным сектором загрузки MBR и/или разделом системы EFI, записанным вместе с данными ISO9660.
Так что да, возможно, например, создать обычную файловую систему ext4 (или даже FAT32, так как большинство “живых CD” имеют реальную корневую файловую систему Linux в образе SquashFS), извлечь содержимое ISO9660 в нее и установить загрузчик в MBR USB-накопителя – большинство таких CD используют isolinux, так что вы установите обычный syslinux/extlinux на USB-накопитель и, надеюсь, он подхватит существующий syslinux.cfg.
Rufus и подобные инструменты часто способны извлекать содержимое вашего Linux ISO в более обычную файловую систему и делать его загрузочным. (Это не всегда работает на 100%, потому что такие инструменты частично полагаются на распознавание специфического содержания изображения Linux ISO и адаптацию их, но, тем не менее, это работает в большинстве случаев.)
Запишите Ubuntu live ISO (установочный носитель) на USB-накопитель.
Загрузите его один раз (в режиме “Попробовать Ubuntu”), и
вы получите “доступный для записи” раздел, охватывающий “свободные” части памяти накопителя
(те части, которые не заняты ISO-образом).
Используйте, например, gparted
и играйте с ‘доступными для записи’ любым способом, который вам нравится.
Прошло какое-то время с тех пор, как я в последний раз играл с этим, так что вышеуказанное является ОБЩИМ описанием фактов; могут быть различия и предостережения в текущем состоянии вещей.
Ventoy – это инструмент, который создаст загрузочное USB-устройство, содержащее раздел с типом HPFS/NTFS/exFAT, куда вы можете копировать файлы .iso
. Затем, при загрузке с Ventoy, он отобразит список доступных ISO. Но вы также можете хранить любые файлы на этом разделе.
Вы также можете зарезервировать место для создания EXT4-раздела, если вам это предпочтительно.
введите описание ссылки здесь Почему так сложно выложить правильное решение на этой платформе для нового пользователя?
Ответ или решение
Создание записи для установки Linux на USB-накопитель в формате, позволяющем запись и использование устройства после установки системы, может вызвать некоторые трудности из-за особенностей файловых систем. В данном ответе мы рассмотрим, как можно создать загрузочный USB-накопитель с обычной файловой системой (например, ext4) и при этом сохранить его загрузочность.
Шаг 1: Подготовка USB-накопителя
-
Подключите USB-накопитель к вашему компьютеру. Убедитесь, что на нем нет важных данных, так как все данные будут стерты.
-
Откройте терминал и запустите команду для определения имени вашего USB-накопителя:
lsblk
Найдите ваш накопитель в списке (например,
/dev/sdb
). -
Сотри содержимое USB с помощью команды:
sudo umount /dev/sdX1 # Замените "X" на соответствующую букву вашего устройства sudo dd if=/dev/zero of=/dev/sdX bs=1M count=100
Это создаст пустой раздел на USB-накопителе.
Шаг 2: Создание разделов
-
Создайте новую GPT или MBR таблицу разделов:
sudo parted /dev/sdX mklabel gpt
или
sudo parted /dev/sdX mklabel msdos
-
Создайте нужные разделы. Например, можно создать два раздела: один для установки системы и другой для хранения данных:
sudo parted /dev/sdX mkpart primary ext4 1MiB 100%
-
Форматируйте первый раздел в ext4:
sudo mkfs.ext4 /dev/sdX1
Шаг 3: Копирование файлов с ISO на USB-накопитель
-
Смонтируйте ISO-файл:
sudo mount -o loop path-to-your-linux-distribution.iso /mnt
-
Скопируйте содержимое ISO на новый раздел:
sudo mount /dev/sdX1 /mnt-usb sudo cp -r /mnt/* /mnt-usb/
Шаг 4: Установка загрузчика
-
Установите загрузчик. В большинстве случаев вам потребуется выполнить установку SYSLINUX или другой загрузчик.
sudo apt install syslinux sudo syslinux --install /dev/sdX1
-
Настройте конфигурацию загрузчика. Если у вас уже есть файл
syslinux.cfg
, убедитесь, что он корректно настроен для использования вашей системы.
Альтернативные решения
-
Использование Ventoy: Ventoy позволяет создать многоразовый загрузочный USB-накопитель, который может содержать несколько ISO-образов и позволяет записи. Просто скопируйте ISO-файлы на Ventoy-USB, и они станут доступны для загрузки. Вы также можете настроить резервное пространство для создания раздела ext4.
-
Использование GParted: Если вы хотите изменить настройки уже созданного загрузочного USB-накопителя, вы можете использовать GParted для управления разделами после загрузки в режиме "Try Ubuntu". Вы также можете создать отдельные разделы для использования как обычный файловый накопитель.
Заключение
Создание загрузочного USB-накопителя с файловой системой ext4 или другой, позволяющей запись, возможно с использованием вышеописанных шагов. Этот процесс позволяет сохранить возможность установки Linux, а также сделать USB-накопитель многофункциональным для дальнейшего использования. Не забывайте, что перед выполнением операций над дисками важно иметь резервные копии важных данных.