Я знаю, что это старый вопрос, но я хотел бы показать, как выполнить этот процесс на Mac, потому что это не так просто: fdisk
не имеет -l
опции и truncate
не устанавливается по умолчанию:
1. Шаг 1. Установите усечение в Mac OS X:
Для этого вам нужны MacPorts или Homebrew. Я использую MacPorts. Если у вас нет ни одного из них, сначала установите их. Ссылка на MacPorts
Теперь мы можем установить усечение . Откройте свой терминал и введите:
sudo port install truncate
Для варки:
brew install truncate
Это должно сделать это.
2. С помощью Дисковых утилит смонтируйте наш IMG так, чтобы он был виден команде терминала diskutil .
Вскоре вы поймете, почему нам нужен этот шаг. Откройте приложение Дисковая утилита. Нажмите Файл (на верхней панели) -> Открыть образ диска и выберите файл IMG.
3. Проверьте размер раздела IMG и где он установлен.
В терминале введите:
diskutil list
И это должно показать что-то вроде этого где-то в конце:
/dev/disk3 (disk image):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme +16.0 GB disk3
1: Windows_FAT_32 boot 62.9 MB disk3s1
2: Linux 3.9 GB disk3s2
Итак, мы видим, что около 12 ГБ не разделены. Нам нужно их укоротить.
Эта команда нужна нам для того, чтобы проверить, где смонтирован образ диска. В моем случае он находится под: / dev / disk3
4. Узнайте фактический размер раздела.
3,9 ГБ и 62,9 МБ - это значения, которые не будут работать с усечением. Нам нужно найти размеры разделов в байтах.
5. Запустите fdisk .
В вашем терминале выполните эту команду:
fdisk /dev/diskX
Где X - это число, которое вы узнали на предыдущем шаге. Это должно привести к чему-то вроде этого:
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: 0C 0 130 3 - 8 40 32 [ 8192 - 122880] Win95 FAT32L
2: 83 8 40 33 - 478 79 49 [ 131072 - 7553024] Linux files*
3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
6. Время усекать !
На вашем терминале, cd
в каталог, в котором находится ваше изображение. Затем написать:
truncate FILE SIZE
ФАЙЛ твой файл, конечно.
РАЗМЕР - это размер в байтах. Что я сделал, так это добавил к столбцу размераfdisk
команды, начальному столбцу и умножил на 512. Итак, в моем случае SIZE будет: 512 * (7553024 + 131072) = 3934257152 , что составляет примерно 3,9 ГБ.
Вам потребуется начало и размер этого последнего раздела , что проявляется fdisk
. (Не обязательно самый большой, но тот, что в конце файла IMG)
Я немного поэкспериментировал, и всякий раз, когда я вводил 7553024 * 512 или (7553024 + 1) * 512 байт, файл IMG был поврежден. Так что, чтобы быть уверенным, сделайте это, как я указал выше. Это может добавить больше, чем необходимо, но это безопасный вариант.
7. (Необязательно) Легко проверьте, не повреждено ли IMG.
Зайдите еще раз в Дисковую утилиту и попробуйте открыть новый файл IMG, как и раньше. Если он монтируется, вы также можете увидеть новый (меньший) размер. Если это не повышается, что-то пошло не так. (Возможно попробуйте увеличить размер в truncate
команде)
Это не лучший тест, но это верный способ проверить, поврежден ли новый IMG или нет. Так что не стоит на это рассчитывать, но стоит попробовать ...
Я надеюсь, что кто-то найдет это полезным!
dd if=/dev/path/to/SD/card of=~/SpecialImage.img
, затем установите GParted и запуститеgparted ~/SpecialImage.img
. Как только GParted откроет ваш.img
файл, просто измените размер разделов по своему вкусу! (Обе команды должны запускаться с правами root, они должны датьsudo su
вам то, что вам нужно. Когда вы$
переключаетесь на a#
, вы - Root. Будьте осторожны, это Linux-эквивалент Бога.) GParted - это, в основном, GUI-интерфейс для управления тайными разделами. инструменты вам понадобятся Использование GParted просто делает все намного проще и более успешным.