init
This commit is contained in:
82
Образ_SD_dd.md
Normal file
82
Образ_SD_dd.md
Normal file
@@ -0,0 +1,82 @@
|
||||
### Образ SD-карты с помощью dd
|
||||
|
||||
_Чтобы размер образа занимал как можно меньше места и, соответственно быстрее создавался, необходимо на SD-карте уменьшить размер раздела (отрезать всё свободное место), т.к. в создаваемый образ оно тоже попадает_
|
||||
|
||||
_Уменьшить размер раздела можно с помощью стандартной утилиты **Диски** (Linux Mint), **Gparted**, **parted**_
|
||||
|
||||
1. Расчет размера разделов
|
||||
|
||||
```bash
|
||||
sudo fdisk -l /dev/sdb
|
||||
```
|
||||
|
||||
вывод будет примерно такой:
|
||||
|
||||
Диск /dev/sdb: 29,29 GiB, 31439454208 байт, 61405184 секторов
|
||||
Disk model: Card Reader
|
||||
Единицы: секторов по 1 * 512 = 512 байт
|
||||
Размер сектора (логический/физический): 512 байт / 512 байт
|
||||
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
|
||||
Тип метки диска: dos
|
||||
Идентификатор диска: 0x1238ae1a
|
||||
|
||||
Устр-во Загрузочный начало Конец Секторы Размер Идентификатор Тип
|
||||
/dev/sdb1 8192 532479 524288 256M c W95 FAT32 (LBA)
|
||||
/dev/sdb2 532480 5279743 4747264 2,3G 83 Linux
|
||||
|
||||
Обратим внимание на 2 параметра:
|
||||
Конец - **5279743** (это последний сектор нашего раздела)</br>
|
||||
Размер секторов - **Единицы: секторов по 1 \* 512 = 512 байт**</br>
|
||||
Таким образом нам необходимо сохранить:</br>
|
||||
5279743 + 1 (первый сектор начинается с 0) = 5279744 секторов</br>
|
||||
5279744 \* 512 (размер сектора) = 2703228928 байт</br>
|
||||
2703228928 / 1024 / 1024 = 2578 Мб (обязательно округляем в большую сторону)</br>
|
||||
|
||||
2. Создание образа
|
||||
_необходимо запустить запись с нужными параметрами_
|
||||
|
||||
```bash
|
||||
sudo dd if=/dev/sdb of=$HOME/Backup/image.img bs=1M count=2578 conv=noerror,sync status=progress
|
||||
```
|
||||
|
||||
либо с учетом пустого места (без параметра count)
|
||||
|
||||
```bash
|
||||
sudo dd if=/dev/sdb of=$HOME/Backup/image.img bs=1M conv=noerror,sync status=progress
|
||||
```
|
||||
|
||||
if=/dev/sdb - откуда
|
||||
of=/$HOME/Backup/image.img - куда
|
||||
bs=1M - размер одного блока при передаче данных (влияет на скорость записи)
|
||||
|
||||
с - один символ;
|
||||
b - 512 байт;
|
||||
kB - 1000 байт;
|
||||
K - 1024 байт;
|
||||
MB - 1000 килобайт;
|
||||
M - 1024 килобайт;
|
||||
GB - 1000 мегабайт;
|
||||
G - 1024 мегабайт.
|
||||
|
||||
count=2578 - количество записываемых блоков
|
||||
conv=noerror,sync - norerror -игнорировать ошибки, sync -записывать 0 в ошибочные секторы, чтобы не нарушить структуру
|
||||
status=progress - выводить в консоль сведения о процессе записи
|
||||
|
||||
образ можно сразу сжать при создании
|
||||
|
||||
```bash
|
||||
sudo dd if=/dev/sdb bs=1M count=2578 conv=noerror,sync | gzip -c > /$HOME/Backup/image.img.gz
|
||||
```
|
||||
|
||||
3. Восстановление образа
|
||||
если образ создавали без сжатия
|
||||
|
||||
```bash
|
||||
sudo dd if=$HOME/Backup/image.img of=/dev/sdb bs=1M conv=noerror,sync status=progress
|
||||
```
|
||||
|
||||
если создавали со сжатием
|
||||
|
||||
```bash
|
||||
gunzip -c $HOME/Backup/image.img.gz | sudo dd of=/dev/sdb conv=noerror,sync status=progress
|
||||
```
|
||||
Reference in New Issue
Block a user