Вопрос или проблема
У меня есть два SSD M2 (один на 128 Гб, другой на 256 Гб) и также 2 ноутбука, каждый из которых имеет один слот M2. Я хочу клонировать меньший SSD на больший. Я готов использовать Clonezilla для этого.
Мой вопрос заключается в том, есть ли способ сделать это с помощью существующего оборудования, не покупая корпус? Что-то вроде NAS liveCD, но с низкоуровневым доступом, чтобы позволить фактическое клонирование?
Или, другими словами: могу ли я использовать один из ноутбуков как корпус для этой процедуры?
(ноутбуки работают на Ubuntu 20.04, а SSD, который я хочу клонировать, загрузочный с Win10 и Ubuntu 20.04, UEFI).
Нет, вы не можете.
Корпуса для дисков проще, и на них есть чипы, которые выполняют функции корпуса для дисков и позволяют подключение через поддерживаемые варианты подключения. Ноутбуки более мощные и сложные, но это не значит, что они могут притворяться чем-то, чем они не являются.
Быть более сложным и мощным не означает, что что-то может стать чем-то более простым.
Если вы хотите создать несколько установщиков Ubuntu Server 24.04.1 LTS на USB (или DVD), то вы можете загрузить каждую машину в live-версию Ubuntu Server и скопировать (dd
) меньший диск на больший диск. Я тестировал это на машинах, соединенных через ethernet.
В принципе, вы загружаетесь и следуете меню до тех пор, пока не дойдете до этого экрана.
Отсюда перейдите, чтобы выбрать “Введите оболочку”, как показано ниже.
Вы должны получить командную строку, как показано ниже.
При вводе следующих команд учтите следующее.
- Вы можете игнорировать предупреждающее сообщение о старом протоколе.
- Номер порта 10809 был выбран случайно.
- Я использовал IPv4-адрес, указанный командой
hostname -I
, когда командаnbd-client
потребовала IP-адрес.
Для машины с меньшим диском введите следующее.
sudo apt-get update
sudo apt-get install nbd-server
sudo chmod a+rw /dev/nvme0n1
sudo ndb-server 10809 /dev/nvme0n1
hostname -I
Для машины с большим диском введите следующее.
sudo apt-get update
sudo apt-get install nbd-client
sudo ndb-client <ip-адрес сервера IPv4> 10809 /dev/nbd0
sudo dd if=/dev/nbd0 bs=1M status=progress of=/dev/nvme0n1
sudo ndb-client -d /dev/nbd0
sudo gdisk /dev/nvme0n1
Команда gdisk
интерактивная. Введите символы, указанные в первом столбце таблицы ниже.
Запись | Тип | Комментарий |
---|---|---|
x |
Команда | Выбор меню дополнительного функционала |
e |
Команда | Переместить резервные структуры данных в конец диска |
w |
Команда | Записать таблицу на диск и выйти |
y |
Параметр | Подтвердить продолжение |
Примечание: я смог передать 1 ГиБ примерно за 25 секунд. Исходя из этого, передача 128 ГБ должна занять около 50 минут.
Когда закончите, вы можете ввести команду ниже, чтобы выключить каждую машину.
shutdown now
Ответ или решение
Конечно, давайте рассмотрим, как вы можете использовать свои старые ноутбуки для клонирования SSD на основе предоставленных вами данных и деталей.
Введение
Проблема, с которой вы сталкиваетесь, заключается в том, что у вас есть два M.2 SSD и два ноутбука, каждый из которых имеет только один слот M.2. Вы хотите клонировать меньший SSD объемом 128 ГБ на больший SSD объемом 256 ГБ, не прибегая к покупкам дополнительных внешних накопителей. Клонирование SSD возможно без дополнительного оборудования, воспользовавшись уже установленными на ноутбуках системами Ubuntu 20.04 и такими инструментами, как Clonezilla или встроенные инструменты командной строки.
Использование ноутбуков для клонирования SSD
К сожалению, просто подключить один SSD к ноутбуку, чтобы использовать его как внешний накопитель, не получится. Но вы можете использовать Live CD (или USB) с Ubuntu для клонирования, используя сетевое соединение между двумя ноутбуками. Процесс, описанный ниже, включает использование сетевого блочного устройства (Network Block Device, NBD).
Подготовка к клонированию
-
Создание загрузочного носителя с Ubuntu:
- Скачайте образ Ubuntu Server и создайте загрузочный USB с помощью программ, таких как Rufus или UNetbootin.
-
Загрузка на каждом ноутбуке:
- Загрузите оба ноутбука с созданного USB-носителя.
Настройки на компьютере с меньшим SSD (Источник)
- Откройте терминал.
- Установите сервер NBD командой:
sudo apt-get update sudo apt-get install nbd-server
- Разрешите доступ к устройству:
sudo chmod a+rw /dev/nvme0n1
- Настройте сервер NBD:
sudo nbd-server 10809 /dev/nvme0n1
- Получите ваш IPv4 адрес:
hostname -I
Настройки на компьютере с большим SSD (Приемник)
-
Откройте терминал.
-
Установите клиент NBD:
sudo apt-get update sudo apt-get install nbd-client
-
Подключитесь к серверу:
sudo nbd-client <серверный_IP_адрес> 10809 /dev/nbd0
-
Клонируйте SSD с помощью команды
dd
:sudo dd if=/dev/nbd0 bs=1M status=progress of=/dev/nvme0n1
- Имейте в виду, что
if
– это входное устройство (менее SSD), аof
– это выходное устройство (больший SSD). Убедитесь, что вы правильно указали устройства!
- Имейте в виду, что
-
После завершения клонирования отключите клиент NBD:
sudo nbd-client -d /dev/nbd0
Завершение
Обновите таблицу разделов
После клонирования может потребоваться восстановить таблицу разделов на новом SSD. Для этого используйте команду gdisk
:
sudo gdisk /dev/nvme0n1
Следуйте инструкциям, чтобы перенести резервные структуры данных.
Завершение работы
После завершения клонирования можно завершить работу обеих машин:
shutdown now
Заключение
Таким образом, использовать старый ноутбук как окружение для клонирования SSD возможно, но требует более сложной настройки по сравнению с использованием специального внешнего корпуса. Применив вышеописанную процедуру с использованием Ubuntu Live, вы сможете успешно клонировать ваши SSD без дополнительных затрат. Удачи вам в клонировании!