Создание отформатированного раздела из ничего

Мне нужно создать файловую систему с одним разделом из ничего ( /dev/zero ). Я пробовал эту последовательность команд:

 dd if=/dev/zero of=mountedImage.img bs=512 count=131072 fdisk mountedImage.img n p 2048 131072 

В принципе, мне нужно создать 64-мегабайтный файл изображения, заполненный нулями. Затем я использую fdisk чтобы добавить новый раздел для новой файловой системы (которая, наконец, должна быть FAT32), начиная с сектора 2048 и используя все остальные сектора.

 losetup /dev/loop1 mountedImage.img mkfs -t vfat /dev/loop1 

Но здесь я сталкиваюсь с проблемами. Если я loop устройство loop и отформатирую его с помощью mkfs -t vfat , таблица разделов будет перезаписана, а файловая система (FAT32) будет помещена на диск. Мне не нужен весь диск, отформатированный с FAT32, мне просто нужен мой основной раздел.

Кто-нибудь знает, как я могу отформатировать только один раздел образа необработанного диска, а не целого изображения? Пожалуйста помоги.

3 Solutions collect form web for “Создание отформатированного раздела из ничего”

Если в Linux при загрузке модуля loop убедитесь, что вы передаете параметр max_part в модуль, чтобы устройства цикла были разделяемыми.

Проверьте текущее значение:

 cat /sys/module/loop/parameters/max_part 

Если это 0:

 modprobe -r loop # unload the module modprobe loop max_part=31 

Чтобы сделать этот параметр постоянным, добавьте следующую строку в /etc/modprobe.conf или в файл в /etc/modprobe.d если этот каталог существует в вашей системе:

 options loop max_part=31 

Если modprobe -r loop завершается с ошибкой, потому что «цикл модуля встроен», вам нужно добавить loop.max_part=31 в свою командную строку ядра и перезагрузить компьютер. Если ваш загрузчик Grub2, добавьте к нему значение GRUB_CMDLINE_LINUX в etc/default/grub .

Теперь вы можете создать устройство с разделяемым контуром:

 truncate -s64M file # no need to fill it with zeros, just make it sparse fdisk file # create partitions losetup /dev/loop0 file mkfs.vfat /dev/loop0p1 # for the first partition. mount /dev/loop0p1 /mnt/ 

(обратите внимание, что вам нужна сравнительно новая версия Linux).

losetup /dev/loop0 file -o 1048576 --sizelimit limit

Указанное смещение должно быть в байтах (1048576 = 2048 секторов * 512 байт на сектор).

mount -o loop,offset=1048576,sizelimit=limit

Для получения дополнительной информации см. Losetup и mount .

опция losetup 2.21-P

 losetup -P -f --show my.img 

Создает один /dev/loopXpY каждого раздела.

Преимущество: исполняемый файл предварительно установлен во многих дистрибутивах (пакет util-linux).

Недостаток: довольно недавний вариант, которого нет в Ubuntu 14.04.

losetup -P automation

Применение:

 $ los my.img /dev/loop0 /mnt/loop0p1 /mnt/loop0p2 $ ls /mnt/loop0p1 /whatever /files /youhave /there $ # Cleanup. $ losd 0 $ ls /mnt/loop0p1 $ ls /dev | grep loop0 loop0 

Источник:

 los() ( img="$1" dev="$(sudo losetup --show -f -P "$img")" echo "$dev" for part in "$dev"?*; do dst="/mnt/$(basename "$part")" echo "$dst" sudo mkdir -p "$dst" sudo mount "$part" "$dst" done ) losd() ( dev="/dev/loop$1" for part in "$dev"?*; do dst="/mnt/$(basename "$part")" sudo umount "$dst" done sudo losetup -d "$dev" ) 

kpartx

 sudo apt-get install kpartx losetup -fs my.raw sudo kpartx -a my.img ls /dev/mapper 

Вывод:

 /dev/mapper/loop0 /dev/mapper/loop0p1 

где loop0p1 – это первый раздел, поэтому мы можем сделать:

 mkdir -pd sudo mount /dev/mapper/loop0p1 d 

Преимущество этого метода: работает на Ubuntu 14.04 без перезагрузки.

  • Как уменьшить и удалить физический объем из активного логического тома?
  • Изменение размера разделов слишком долгое время в установщике Debian 6
  • Восстановление из прерванного перемещения раздела
  • Растровые изображения блока e2fsck
  • Как получить доступ и редактировать файлы GRUB на SSD с Live CD?
  • Повреждение файловой системы Linux из-за неправильного завершения работы (fs ext4)?
  • проблема разделов с Debian Squeeze и Windows 7 (раздел 1 не заканчивается на границе цилиндра)
  • Восстановление информации секционирования с блочных устройств
  • SliTaz, USB-накопитель, не может монтировать iso или найти файловую систему на нем rootfs.gz
  • Как изменить размер корневого раздела в Debian?
  • Установка Linux на резервный SSD
  • Interesting Posts

    ffmpeg труба вебкамера для вывода h264

    Как установить файловую систему ext4 в cfdisk?

    Приложение Linux, которое контролирует журнал и добавляет правила в iptables

    Установите новый файловый менеджер по умолчанию для firefox в Archlinux

    кошка и труба против перенаправления

    Как копировать поцарапанные аудио компакт-диски?

    Выполнять только, если это функция bash

    Я разорву debian etch, если я установлю python-support 0.7.1 на него?

    Руководство по печати для установки ArchLinux

    Есть ли дистрибутив Linux с небольшим или отсутствием инструментов администрирования?

    Использование Grep Color для просмотра в файле и вывода с цветным ответом среди содержимого файла

    «Виртуальная» оболочка, т.е. лишение пользователя внутри процесса после входа в систему (SSH)

    Как передать переменную в параллельный скрипт из текстового файла по строкам

    Установка корневой файловой системы при загрузке через сеть

    Приложение терпит неудачу, если не в его каталоге?

    Linux и Unix - лучшая ОС в мире.