Создание виртуального диска при помощи команды dd

Недавно скопировал файловую систему с флешки на жёсткий диск, а после этого ради интереса решил попробовать подмонтировать резервную копию. Удалось успешно. Получился виртуальный жёсткий диск с файловой системой ext4. Потом экспериментальным путём узнал, как создать виртуальный диск без флешки.

Подготовка файла-образа

Для создания файла образа можно использовать команду dd, задав копирование из /dev/urandom. Для установки размера нового файла я использовал параметры bs (сколько байтов копировать за один раз) и count (сколько блоков копировать). Например,
dd if=/dev/urandom of=/home/user/new bs=1024 count=1024
создаёт файл new размером 1 Мбайт (1024 байт*1024 байт). Размер файла должен быть достаточным для размещения файловой системы.

Создание файловой системы

Итак, мы создали файл, где будет находиться образ виртуального диска. Но пока это просто файл, заполненный случайными данными (тк наполнение бралось из /dev/urandom). Для создания файловой системы можно использовать mkfs. mkfs может спросить, действительно ли мы хотим «отформатировать» обычный файл (в случае с форматированием на ReiserFS пришлось добавлять к команде ключ -f). Общий вид команды такой:
mkfs.(название файловой системы) (путь до файла)

Монтирование и отмонтирование виртуального диска

Монтируется и отмонтируется полученный виртуальный диск также, как и блочные устройства. У меня потребовались права root, несмотря на то, что и сам файл-образ, и точка монтирования принадлежали мне. В случае с ext4 потребовалось переназначать владельца корневой файловой системы через chown:
sudo chown (имя пользователя) (путь до файла)

Запись образа на флешку

Образ виртуального диска можно также записать на флешку командой dd:
sudo dd if=(путь до образа) of=(путь до файла флешки)
Учтите, что файловая система будет полностью перенесена на флешку. Это означает, что если размер виртуального диска меньше размера раздела, то доступное место на флешке будет равно размеру файловой системы, что приведёт к уменьшению доступного места.

Образы оптических дисков

Образ оптического диска можно создать при помощи архиватора file-roller, создав архив в формате iso и поместив туда требуемые файлы, либо скопировать реальный диск при помощи dd:
sudo dd if=/dev/sr0 of=(путь до образа)
Монтируются такие образы обычным образом (через mount). Записать такой образ на диск можно при помощи программы Brasero.

Ваша оценка: Нет Средняя оценка: 5 (3 votes)
10
pomodor

Для создания файла образа можно использовать команду dd, задав копирование из /dev/urandom

Лучше всё же из /dev/zero. Зачем тратить энтропийный пул хрен знает на что.

bs (сколько байтов копировать за один раз)

Формально это так, но лучше все же отметить, что bs — это block size.

Кстати, добавлю, что содержимое образа можно еще и запустить, если там загружабельная файловая система внутри:

kvm -m 1g -hda image.file
Ваша оценка: Нет
4
Sunrise

Тогда уж проще создавать через touch, а затем просто указывать в mkfs после адреса файла размер файловой системы.

Ваша оценка: Нет
10
pomodor

Проще, чем что?

Ваша оценка: Нет
8
comrade

Ubuntu — wubi живёт в таком контейнере.
Было легко такой линукс списывать (уже настроенный) на виндозные компьютеры.

Я Xubuntu 12.04 так всем списывал.

Но теперь эта халява кончилась (из-за UEFI).
Хотя обходная возможность осталась – загрузчик можно на флешке сделать (а в UEFI включить загрузку с легаси-USB).

Можно, конечно, теперь настроенный линукс копировать (в т.ч., и из подобного контейнера) на выделенный раздел. А потом загрузку только настроить.
Но так пока не делал. «Честно» ставлю. Почти так же быстро получается (при минимальных настройках).

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
10
pomodor

Wubi — это паллиатив. Надо резать раздел с Вантузом, не дожидаясь перитонита.

Ваша оценка: Нет
a

Это все хорошо — вот сделал дд-шкой образ флешки — как с этим образом работать ?Можно ли его как то подмаунтить как физ устройство?

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
a

а какой смысл делать загрузочную флешку? Чтобы ее монтировать? Она наверно для того и есть чтобы с нее грузиться )

Ваша оценка: Нет
a

упс неправильно понял. Конечно можно смонтировать образ с опцией loop

mount -o loop /путь_к_образу/образ.iso /mnt/disk

Ваша оценка: Нет
a

Спасибо.

У меня фряха уже разобрался.

Ваша оценка: Нет Средняя оценка: 1 (1 vote)
Отправить комментарий
КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.
Linux I класса
Linux II класса
Linux III класса
Счетчики
  • Самый популярный сайт о Linux и Windows 10
  • Индекс цитирования