LINUX.ORG.RU

Виртуальный HDD


0

0

Как создать образ HDD в виде файла? Требуется его создавать с нуля, не копируя с существующего. Команду dd знаю, а вот потом как таблицу разделов создать, сами разделы, и ФС на них? Ещё идеальным вариантом была бы возможность монтирования каждого из этих разделов.

anonymous

разделы в ФАЙЛЕ можно создать fdisk_ ом, все остальное сложнее (losetup)
dd if=/dev/zero of=/ttmp/hard.img bs=xxx count=yyy
fdisk /tmp/hard.img

sdio ★★★★★
()

теоретически делаешь отдельные файлы с файловой системой (dd, mkfs), а потом их при помощи dd загоняешь в размеченный fdisk - ом файл образа винта.

infinite
()
Ответ на: комментарий от infinite

как??

Мне тоже ето было интересно но я ничего придумать не смог.

cvv ★★★★★
()

Не проверял копированием на винч, но , должно быть:
gena@work:~$ dd if=/dev/zero of=hdd.img bs=512 count=102400
102400+0 входных записей
102400+0 выходных записей
52428800 bytes transferred in 0,702985 seconds (74580259 bytes/sec)
gena@work:~$ dd if=/dev/zero of=hdda.img bs=512 count=102439
102439+0 входных записей
102439+0 выходных записей
52448768 bytes transferred in 0,888804 seconds (59010506 bytes/sec)
gena@work:~$ /sbin/fdisk hdd.img
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-6, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-6, default 6):
Using default value 6

Command (m for help): wThe partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 25: Inappropriate ioctl for device.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.gena@work:~$ /sbin/mkfs.ext3 hdda.img
mke2fs 1.35 (28-Feb-2004)
hdda.img is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
12824 inodes, 51216 blocks
2560 blocks (5.00%) reserved for the super user
First data block=1
7 block groups
8192 blocks per group, 8192 fragments per group
1832 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961

Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
gena@work:~$ dd if=hdda.img of=hdd.img bs=512 seek=1
102439+0 входных записей
102439+0 выходных записей
52448768 bytes transferred in 0,883219 seconds (59383653 bytes/sec)

Вуаля :)

gena2x ★★★
()
Ответ на: комментарий от gena2x

Что-то я не заметил здесь использования _разделов_ на в этом файле. Кроме того, в твоем случае запуск fdisk бессмысленен, т.к. сразу после него ты весь файл затираешь созданием в нем файловой системы.

Я так понимаю, что основной вопрос в оригинальном письме - как получить доступ к разделам, созданным через fdisk в loop файле?

UncleAndy ★★★
()
Ответ на: комментарий от UncleAndy

Извиняюсь, сразу не обратил внимания что используются два разных файла. Тем не менее, вопрос о том, как подмонтировать файловую систему из такого раздела остается открытым.

UncleAndy ★★★
()
Ответ на: комментарий от UncleAndy

У losetup есть опция смещения. Конкретно смещение раздела можно посмотреть в fdisk.

P.S. В теории?.

Murr ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.