Разделы в начале и в конце диска и переход на меньший SSD

Мне нужно перенести один 256 ГБ жесткий диск на 240 ГБ SSD, но раздел EFI находится в самом конце моего жесткого диска.

Я уже сделал резервную копию:

sudo dd if=/dev/sda of=backup.img

но я не могу поместить это изображение на мой SSD-накопитель, потому что это изображение 256 ГБ.

Диск имеет 165 ГБ данных и 68 ГБ пустого пространства и 20 МБ раздела EFI в конце (извините за полированные метки в этом приложении Windows), поэтому я могу использовать dd или любой другой инструмент Linux, чтобы сказать что-то вроде:

sudo dd if=/dev/sda of=/dev/sdb SKIP_SECTORS_FROM_166GB_TO_186GB

Могу ли я использовать какой-либо инструмент Linux (parted?) Для перемещения раздела EFI на 20 ГБ влево и использовать dd для копирования первых 236 ГБ данных на SSD-диск?

(У меня есть CloneZilla Live USB.)

2 ответа

Конечно, вы можете использовать gparted, чтобы переместить раздел влево на исходном диске, а затем клонировать его, если у вас есть место. Вы также можете использовать dd тщательно пропустить диапазон, запустив его дважды: один раз с count=x аргумент, чтобы получить первую часть, затем второй раз с skip=y а также seek=x аргумент, чтобы взять все после y в источнике и скопировать его в место назначения, начиная с x. Единицы по умолчанию для секторов, если вы не укажете bs=, Вам также нужно будет отредактировать таблицу разделов, чтобы отразить перемещенное положение ESP.

Спасибо за ответы!

Я пытался переместить раздел с parted и gparted, но оба не перемещают разделы EFI. Так вот что я сделал:

  1. Я скопировал файлы из /dev/sda3 (D:) в /dev/sda1 (C:) и удалил раздел /dev/sda3 (D:).
  2. У меня было только 3 основных раздела, поэтому я создал новый основной раздел в начале пустых секторов [я только проверил длину gparted (в секторах) моего раздела EFI, чтобы создать новый раздел FAT32 такой же длины]
  3. Я скопировал в DD все сектора из раздела EFI в новый раздел
  4. Я использовал parted для удаления старого раздела EFI
  5. У меня были все разделы в первых 116 ГБ жесткого диска, поэтому я скопировал только эти 116 ГБ в SSD командой DD:

    `sudo dd if=/dev/sda of=/dev/sdb bs=512KB count=237568 status=progress`
    

Я подключил SSD-накопитель к порту SATA на моем ноутбуке, и Windows загрузилась отлично.

Вот так выглядит мой SDD

Другие вопросы по тегам