5

Я использую Ubuntu 12.04. У меня есть старая 4 ГБ SD-карта, и я только что купил новую 16 ГБ SD-карту. Я хотел бы скопировать все со своей старой 4 ГБ SD-карты на новую 16 ГБ SD-карту. Я боялся, что обычный трюк с копированием и вставкой что-то упустит, поэтому я хотел клонировать старую SD-карту 4 ГБ на SD-карту 16 ГБ. Я использовал команду dd в оболочке, следуя инструкциям в этой ссылке.

Это сработало с одной маленькой оговоркой. Новая SD-карта теперь оказалась 4 ГБ. Позже я узнал, что это потому, что основной раздел на 16 ГБ SD-карте теперь сократился до 4 ГБ. Я решил эту проблему, и я думаю, что понимаю это. Однако теперь у меня возникает вопрос: как мне клонировать мою старую карту SD на 4 ГБ на мою новую карту SD на 16 ГБ, не уменьшая при этом основной раздел на карте SD на 16 ГБ до 4 ГБ?

3 ответа3

3

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

Я предполагаю, что вы сделали что-то вроде sudo dd if=/dev/sda/ of=/dev/sdb bs=4k или использовали файл изображения в качестве временного хранилища, если у вас нет двух слотов для SD-карт. С помощью этой команды вы скопировали раздел и таблицу разделов на новую SD-карту.

Попробуйте это (при условии, что ваши разделы называются /dev/sda1):

  • вставьте SD-карту объемом 4 ГБ
  • sudo dd if=/dev/sda1 of=~/sdcard.bin
  • вставьте SD-карту объемом 16 ГБ и убедитесь, что основной раздел занимает все 16 ГБ
  • sudo dd if=~/sdcard.bin of=/dev/sda1

Это должно копировать только содержимое ваших разделов.


Вы также можете просто изменить размер раздела на новой SD-карте. Если вы хотите получить некоторую информацию об этом, вы должны сообщить нам, какая файловая система используется на ваших SD-картах.

0

Даже если вы установите размер раздела 16 ГБ, метада файловой системы была создана с учетом 4 ГБ раздела и не будет автоматически увеличиваться.

Самый простой способ исправить это - запустить gparted и растянуть раздел, чтобы использовать весь диск - он позаботится об исправлении как раздела, так и файловой системы.

Если у вас не было таблицы разделов на старой SD-карте, создайте дамп sda и создайте раздел sda1 с 16 ГБ на новой карте и используйте dd, чтобы записать образ в этот раздел. Вам все еще понадобится проверка с gparted как описано @Earendil.

0

То же самое произошло и здесь. На самом деле, я использовал команду с sda1, а не sda . Самый простой выход - использовать Gparted:

  • Щелкните правой кнопкой мыши на разделе.
  • Выберите check .
  • Запустите проверку с помощью Gparted (зеленая проверка).
  • Gparted пытается исправить ошибки раздела.

В моем случае это так. Карта SDHC теперь правильно прочитала 16 ГБ (до того, как GParted показывал клонированный раздел как использованное пространство внутри раздела). Невероятно, насколько мощны Ubuntu и эти инструменты Ubuntu, когда вы осваиваете их. Надеюсь это поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .