Я создал img
файл с помощью следующей команды:
dd if=/dev/zero bs=2M count=200 > binary.img
Это просто файл с нулями, но я могу использовать его fdisk
и создать таблицу разделов:
# fdisk binary.img
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x51707f21.
Command (m for help): p
Disk binary.img: 400 MiB, 419430400 bytes, 819200 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: 0x51707f21
и, скажем, один раздел:
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-819199, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-819199, default 819199):
Created a new partition 1 of type 'Linux' and of size 399 MiB.
Command (m for help): w
The partition table has been altered.
Syncing disks.
Когда я проверяю таблицу разделов, я получаю следующий результат:
Command (m for help): p
Disk binary.img: 400 MiB, 419430400 bytes, 819200 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: 0x7f3a8a6a
Device Boot Start End Sectors Size Id Type
binary.img1 2048 819199 817152 399M 83 Linux
Итак, раздел существует. Когда я пытаюсь отформатировать этот раздел с помощью gparted, я получаю следующую ошибку:
Я не знаю, почему это выглядит binary.img1
, и я понятия не имею, как отформатировать раздел из команды live.
Кто-нибудь знает, как отформатировать его с помощью файловой системы ext4?
filesystems
partition
disk-image
Михаил Морфиков
источник
источник
Couldn't find valid filesystem superblock.
. Вот картинка: i.imgur.com/dl7XAC4.png. Это какая-то ошибка?Ответы:
Вы можете получить доступ к образу диска и его отдельным разделам с помощью функции обратной связи. Вы уже обнаружили, что некоторые дисковые утилиты будут работать (разумно) с образами дисков. Тем
mkfs
не менее, не является одним из них (но как ни странноmount
).Вот вывод из
fdisk -lu binary.img
:Для доступа к созданному вами разделу у вас есть несколько вариантов
Явный маршрут
Выход
/dev/loop0
- это имя устройства петли, которое было выделено.--offset
Параметр только раздел это смещение (Start
) умножается на размер сектора (512
). Принимая во внимание,--sizelimit
что это размер раздела, и вы можете рассчитать его следующим образом: End-Start + 1, который равен 819199-2048 + 1 = 817152, и это число также нужно умножить на размер сектора.Затем вы можете использовать в
/dev/loop0
качестве ссылки на раздел:Неявный маршрут
Выход
/dev/loop0
- это имя устройства первичного контура, которое было выделено. Кроме того,--partscan
опция указывает ядру сканировать устройство на наличие таблицы разделов и автоматически назначать устройства вспомогательных циклов. В вашем случае с одним разделом вы также получите/dev/loop0p1
, который вы можете использовать в качестве ссылки на раздел:источник
fdisk
вывода.Есть другой способ сделать это в общем случае, использовать
kpartx
( не связанный с kde)и теперь у вас должны быть все устройства разделов, определенные
/dev/mapper
как loop0p1 , loop0p2 , ...а потом
Необязательно, когда вы закончите, вы можете запустить также
избавиться от loop0p? deivce
источник
(… И позже для
binary.img2
похороненных в комментарии.)Это потому, что инструменты ожидают, что имена файлов будут следовать определенному шаблону. Этот шаблон используется файлами файлов для реальных дисков и объемов дисков в вашей системе, а именно:
sda
(или что-то еще). Это то, чтоfdisk
ожидает использовать.sda1
,sda2
,sda3
, и так далее. Это то, что инструменты, такие какgparted
ожидают использовать, когда они говорят,mkfs
чтобы делать вещи на отдельных дисковых томах .Конечно, обычные файлы не перекрываются так, как это делают файлы на дисковых устройствах. В ходе дискуссий с участием закольцованных файловой системы , что вы видели все о взятии одного файла изображения целого диска и с помощью обратной петли для создания
1
,2
,3
и так далее файлы, отражающие отдельные дольки внутри него, как только нужный макет раздел был написан к таблице разделов.источник
Хотя эта тема не имеет прямого отношения, в ней упоминается много той же и связанной информации.
Debian Wiki | Raspberry Pi и qemu-user-static
Если вы не можете использовать
apt
для установки некоторых команд, упомянутых в этом посте, попробуйте использоватьapt-cache search [package_name]
. Это может не привести к каким-либо результатам, если команда поступает из пакета с другим именем.Например,
losetup
раньше он мог быть установлен какlosetup
использующийсяapt install losetup
, но теперь он является частьюutil-linux
репозитория Ubuntu. Чтобы узнать, какой пакет действует как контейнер для другого пакета, вы должны воспользоваться поиском онлайн-репозитория для своего дистрибутива Linux. Или, если вам необходимо установить его из другого источника, используйте поисковую систему в Интернете.Некоторые пакеты стоит проверить ...
util-linux genisoimage dosfstools squashfs-tools fsarchiver xfsprogs reiserfsprogs reiser4progs jfsutils ntfsprogs btrfs-tools
Каждый дистрибутив Linux также имеет свои собственные онлайн-страницы. Иногда справочные страницы легче использовать, чем учебное пособие. На страницах руководства также будут описаны все параметры и параметры команд. Учебник обычно фокусируется только на тех, которые используются.
источник
Минимальный пробег
sfdisk
+mke2fs
пример безsudo
В этом примере мы создадим, без
sudo
илиsetsuid
, файл образа, который содержит два раздела ext2, каждый из которых заполнен файлами из каталога хоста.Затем мы будем использовать
sudo losetup
только для монтирования разделов, чтобы проверить, действительно ли ядро Linux может их прочитать, как описано по адресу: /programming/1419489/how-to-mount-one-partition-from-an-image -file-содержащий многодисковые разделы / 39675265 # 39675265Для более подробной информации смотрите:
sfdisk
: имеет дело с таблицей разделов: /superuser/332252/how-to-create-and-format-a-partition-using-a-bash-script/1132834#1132834mke2fs
: имеет дело с EXT форматированием разделов: /superuser/605196/how-to-create-ext2-image-without-superuser-rights/1366762#1366762Пример:
Проверено на Ubuntu 18.04. GitHub вверх по течению .
Помощник, чтобы обернуть существующий необработанный файл файловой системы в изображение
Извлеченное из вышесказанного, может быть полезным следующее:
GitHub вверх по течению .
источник