Архив по меткам :

QR-code

ССЫЛКИ

Свежие комментарии

Фев 06

Создаем образы дисков в Linux и Windows с помощью dd .

Для записи образов дисков используют в Windows используют Win32DiskImager, обычно образы делают размером со всю карту памяти, в то время как данных на карте памяти 10-20% от размера SD карты, смысл ждать записи пустого места и потом загружать на файлобменники пустое место нелогично. В статье рассмотрим как уменьшить размер образа.

Подготовка SD карты (уменьшаем размер раздела).

Для того чтобы уменьшить размера образа и этот образ далее можно было записать на SD карту для использования надо уменьшить рабочие разделы на карте памяти, я меняю разделы с помощью gparted

Если у Вас операционная система Linux, то установить и запустить gparted у Вас не составить труда, если у Вас Windows то необходимо скачать LiveCD на официальном сайте.

Загружаемся с Live CD и запускаем gparted, программа должна быть запущена с правами суперпользователя, я запускаю консоль, потом ввожу команду

sudo gparted

Выбираем диск с которым будем работать, у меня это диск /dev/sdb (7.5 ГиБ), на SD карту установлена DietPI для OrangePi PC и имеет 2 раздела BOOT и linux, у меня уже размер уменьшен, уменьшать мы будем раздел linux, для этого сначала надо отмонтировать этот раздел, нажимаем правой кнопкой мыши на разделе в основном окне где список разделов и в выпадающем меню выбираем Отмонтировать

Далее опять нажимаем на название раздела и выбираем пункт меню Изменить размер/Переместить

меняем раздел уменьшая его так, чтобы оставалось ещё свободное место ,если при изменении выдаст ошибку, то делаем раздел побольше.

Нажимаем на кнопку Изменить размер или переместить

Но раздел у нас ещё не изменен, для выполнения изменения раздела надо нажать на кнопку

в появившимся диалоге нажать кнопку Применить

На этом изменение раздела завершено.

Для того, чтобы нам сделать образ не сильно больше конца раздела нажмем опять на раздел который меняли и выберем пункт меню Информация

Смотрим последний сектор, это число надо умножить на 0,5 и разделить на 1024 и полученное число округлить до ближайшего большего целого у меня получилось число 2621.

Создаем образ SD карты.

Linux

Для начала надо узнать какой раздел имеет SD карта командой df -h

 

df -h
Файл.система            Размер Использовано  Дост Использовано% Cмонтировано в
udev                      959M            0  959M            0% /dev
tmpfs                     195M         5,7M  190M            3% /run
/dev/sda5                  37G         8,3G   27G           24% /
tmpfs                     975M         214M  762M           22% /dev/shm
tmpfs                     5,0M         4,0K  5,0M            1% /run/lock
tmpfs                     975M            0  975M            0% /sys/fs/cgroup
/dev/sda6                 189G         169G   11G           94% /home
tmpfs                     195M          44K  195M            1% /run/user/1000
/home/immortal/.Private   189G         169G   11G           94% /home/immortal
/dev/sdd1                 7,5G         7,4G  124M           99% /media/immortal/D4C0-E1C8

Теперь делаем образ нашей карты памяти командой в консоли

dd of=./image.img if=/dev/sdd bs=1M count=2700

где:
of=./image.img — куда сохраняем образ
if=/dev/sdd — наша флэшка
bs=1M — размер блока
count=2700 — кол-во блоков (если не задать то вся карта памяти)

У меня взят размер больший чем конец второго раздела который в прошлом разделе мы считали и получили 2621.

Дожидаемся окончания и образ готов, для выкладывания Вашего образа в интернет рекомендую его архивировать.

Windows.

Для операционной системы Windows так же есть программа dd, качаем с сайта windows версию,

распаковываем на диск, я распаковал в директорию c:\dd, запускаем командную строку cmd и переходим в директорию c:\dd

переход на уровень вверх командой

cd ..

переход в каталог dd

cd dd

Нам надо выяснить как в программе будет называться наша SD карта, для этого выполняем команду

dd --list

Получим вот такой вывод:

Show »

C:dd>dd —list
rawwrite dd for windows version 0.6beta3.
Written by John Newbigin <jn@it.swin.edu.au>
This program is covered by terms of the GPL Version 2.

Win32 Available Volume Information
\.Volume{9d07ee41-7f51-11e6-8a54-806d6172696f}
link to \?DeviceHarddiskVolume1
fixed media
Mounted on \.c:

\.Volume{9d07ee42-7f51-11e6-8a54-806d6172696f}
link to \?DeviceHarddiskVolume2
fixed media
Mounted on \.e:

\.Volume{9d07ee40-7f51-11e6-8a54-806d6172696f}
link to \?DeviceCdRom0
CD-ROM
Mounted on \.f:

\.Volume{9d07ee43-7f51-11e6-8a54-806d6172696f}
link to \?DeviceHarddisk1DP(1)0-0+7
removeable media
Mounted on \.g:

\.Volume{65631e9b-e16a-11e6-a6fc-3c970e836769}
link to \?DeviceHarddisk2DP(1)0-0+11
removeable media
Mounted on \.h:
NT Block Device Objects
\?DeviceCdRom0
size is 2147483647 bytes
\?DeviceHarddisk0Partition0
link to \?DeviceHarddisk0DR0
Fixed hard disk media. Block size = 512
size is 320072933376 bytes
\?DeviceHarddisk0Partition1
link to \?DeviceHarddiskVolume1
\?DeviceHarddisk0Partition2
link to \?DeviceHarddiskVolume2
Fixed hard disk media. Block size = 512
size is 1391460352 bytes
\?DeviceHarddisk0Partition3
link to \?DeviceHarddiskVolume3
Fixed hard disk media. Block size = 512
size is 3999268864 bytes
\?DeviceHarddisk0Partition4
link to \?DeviceHarddiskVolume4
Fixed hard disk media. Block size = 512
size is 14998831104 bytes
\?DeviceHarddisk0Partition5
link to \?DeviceHarddiskVolume5
Fixed hard disk media. Block size = 512
size is 29318184960 bytes
\?DeviceHarddisk1Partition0
link to \?DeviceHarddisk1DR6
\?DeviceHarddisk1Partition1
link to \?DeviceHarddisk1DP(1)0-0+7
\?DeviceHarddisk2Partition0
link to \?DeviceHarddisk2DR16
Removable media other than floppy. Block size = 512
size is 8053063680 bytes
\?DeviceHarddisk2Partition1
link to \?DeviceHarddisk2DP(1)0-0+11
Removable media other than floppy. Block size = 512
size is 67108864 bytes

Virtual input devices
/dev/zero (null data)
/dev/random (pseudo-random data)
— (standard input)

Virtual output devices
— (standard output)
/dev/null (discard the data)

C:dd>

У меня SD карта имеет 2 раздела один из которых fat32, естественно в Windows не видно раздела Linux, поэтому если у Вас SD карта имеет только раздел Linux, то возможно имя диска выделенное красным которое я получил Вы не увидите, для этого есть ниже информация о диске которую можно использовать, она выделена синим цветом.

\\?\Device\Harddisk2\Partition0
link to \\?\Device\Harddisk2\DR16
Removable media other than floppy. Block size = 512
size is 8053063680 bytes
\\?\Device\Harddisk2\Partition1
link to \\?\Device\Harddisk2\DP(1)0-0+11
Removable media other than floppy. Block size = 512
size is 67108864 bytes

как раз размер раздела \\?\Device\Harddisk2\Partition0 равен размеру моей SD карты, в прочем Вы можете сначала выполнить команду dd —list без вставленной SD карты, а потом со вставленной SD картой.

В качестве имени нашей SD карты можно использовать любое, выделенное в статье красным или синим.

теперь выполняем команду:

dd if=\\?\Device\Harddisk2\Partition0 of=image.img bs=1M count=2700 --size --progress

где:
of=image.img — имя файла образа, будет создан в папке с программой dd
if=\\?\Device\Harddisk2\Partition0 — наша флэшка (можно \\.\Volume{65631e9b-e16a-11e6-a6fc-3c970e836769})
bs=1M — размер блока
count=2700 — кол-во блоков (если не задать то вся карта памяти)

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

У меня взят размер больший чем конец второго раздела который в первом разделе статьи мы считали и получили 2621.

Дожидаемся окончания и образ готов, для выкладывания Вашего образа в интернет рекомендую его архивировать.

Создаем образ nand-флэш

Предполагается, что на Вашем raspberry, Cubieboard, OrangePi и т.п. установлена Linux в nand (emmc), а следовательно там имеется программа dd.

1. загружаем Linux которая установлена в nand
2. подключаем к нашему raspberry, Cubieboard, OrangePi и т.п. USB флэшку с свободным местом большим размера nand
3. подключаемся по ssh, из Windows можно использовать программу putty
4. создаем дирректорию
mkdir /tmp/disk

5. монтируем флэшку
mount /dev/sda1 /tmp/disk

6. создаем образ из nand
dd of=/tmp/disk/image.img if=/dev/nand

где /dev/nand это nand диск в cubienoard2, на других платах может отличаться.

Записываем образ обратно на SD карту.

Записать образ можно как с помощью программы dd, так и в windows программой ImageWriter или  Win32DiskImager

После записи образа изменяем размер раздела так же как описано в начале статьи.

Поделиться в соц. сетях

Опубликовать в Facebook
Опубликовать в Google Buzz
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс
Синдикация

Понравилась статья? Подпишитесь на RSS .

комментарии отключены, по вопросам в почту или вконтакте http://vk.com/kusheev