Как перейти на другой диск в Linux

Обновлено: 03.07.2024

В любой системе Linux одним из каталогов, размер которого обязательно увеличится, должен быть каталог /home. Это связано с тем, что каталоги системных учетных записей (пользователей) будут находиться в /home, за исключением корневой учетной записи — здесь пользователи будут постоянно хранить документы и другие файлы.

Другим важным каталогом с таким же поведением является /var , он содержит файлы журналов, размер которых будет постепенно увеличиваться по мере того, как система продолжает работать, такие как файлы журналов, веб-файлы, файлы буфера печати и т. д.

Когда эти каталоги заполняются, это может вызвать критические проблемы в корневой файловой системе, что приведет к сбою загрузки системы или другим связанным с этим проблемам. Однако иногда вы можете заметить это только после установки вашей системы и настройки всех каталогов в корневой файловой системе/разделе.

В этом руководстве мы покажем, как переместить домашний каталог в выделенный раздел, возможно, на новый диск для хранения данных в Linux.

Установка и создание разделов нового жесткого диска в Linux

Прежде чем продолжить, мы кратко объясним, как добавить новый жесткий диск к существующему серверу Linux.

Примечание. Если у вас уже есть раздел, готовый к операции, перейдите к разделу, в котором объясняются шаги по перемещению каталога /home в отдельный раздел ниже.

Мы предполагаем, что вы подключили новый диск к системе. На жестком диске количество разделов, которые необходимо создать, а также таблица разделов обычно определяются типом метки диска, а первые несколько байтов пространства определяют MBR (главную загрузочную запись), в которой хранится таблица разделов, а также загрузчик (для загрузочных дисков).

Несмотря на то, что существует множество типов меток, Linux поддерживает только два: MBR MSDOS (размер 516 байт) или MBR GPT (таблица разделов GUID).

Давайте также предположим, что новый новый жесткий диск (/dev/sdb размером 270 ГБ, используемый для целей этого руководства, вероятно, требует большей емкости на сервере для большой пользовательской базы.

Сначала вам нужно установить тип метки диска с помощью fdisk или parted; в этом примере мы использовали имя ярлыка GPT.

Примечание: fdisk пока поддерживает только MSDOS MBR, а parted поддерживает обе метки.

Теперь создайте первый раздел (/dev/sdb1) размером 106 ГБ. Мы зарезервировали 1024 МБ места для MBR.

Объяснение приведенной выше команды:

  • a — параметр для указания выравнивания разделов.
  • mkpart — подкоманда для создания раздела.
  • основной – устанавливает тип раздела в качестве основного на жестком диске (другие значения – логические или расширенные).
  • 1074 МБ — начало раздела.
  • 107 ГБ — конец раздела.

Теперь проверьте свободное место на диске следующим образом.

Мы создадим еще один раздел (/dev/sdb2) размером 154 ГБ.

Далее установим тип файловой системы для каждого раздела.

Чтобы просмотреть все устройства хранения, подключенные к системе, введите.

Список новых Устройство хранения

Перенос домашнего каталога в специальный раздел

Теперь мы добавили новый диск и создали нужный раздел; пришло время переместить домашнюю папку в один из разделов. Чтобы использовать файловую систему, ее необходимо смонтировать в корневую файловую систему в точке монтирования: целевом каталоге, таком как /home.

Сначала укажите использование файловой системы с помощью команды df в системе.

Использование файловой системы Linux

Мы начнем с создания нового каталога /srv/home, куда мы пока сможем смонтировать /dev/sdb1.

Затем переместите содержимое /home в /srv/home (чтобы они практически хранились в /dev/sdb1) с помощью команды rsync или cp.

После этого найдем разницу между двумя директориями с помощью инструмента diff, если все в порядке, переходим к следующему шагу.

После этого удалите весь старый контент в /home следующим образом.

Далее размонтируйте /srv/home.

Наконец, нам нужно временно смонтировать файловую систему /dev/sdb1 в /home.

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

Используйте следующую команду, чтобы получить UUID раздела.

Как только вы узнаете UUID раздела, откройте файл /etc/fstab и добавьте следующую строку.

Объяснение поля в строке выше:

  • UUID – указывает блочное устройство, в качестве альтернативы можно использовать файл устройства /dev/sdb1.
  • /home — это точка подключения.
  • etx4 — описывает тип файловой системы на устройстве/разделе.
  • по умолчанию — параметры монтирования (здесь это значение означает rw, suid, dev, exec, auto, nouser и async).
  • 0 – используется инструментом создания дампа, 0 – не создавать дамп, если файловая система отсутствует.
  • 2 – используется инструментом fsck для определения порядка проверки файловой системы. Это значение означает, что это устройство должно проверяться после корневой файловой системы.

Сохраните файл и перезагрузите систему.

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

 Проверьте использование файловой системы в Linux

Пока все! Чтобы больше узнать о файловой системе Linux, прочтите эти руководства по управлению файловой системой в Linux.

В этом руководстве мы объяснили, как переместить каталог /home в выделенный раздел в Linux. Вы можете поделиться своими мыслями по поводу этой статьи через форму комментариев ниже.

Если вам понравилась эта статья, подпишитесь на уведомления по электронной почте о руководствах по Linux. Если у вас есть вопросы или сомнения? обратитесь за помощью в разделе комментариев.

Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:

TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.

Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.

Поддержите нас

Мы благодарны за вашу бесконечную поддержку.

Похожие сообщения

Извините, сообщений не найдено.

68 мыслей о «Как переместить домашний каталог на новый раздел или диск в Linux»

Здравствуйте, у меня следующая ситуация:

Диск /dev/sda: 1,82 ТиБ, 2000398934016 байт, 3907029168 секторов
Модель диска: ST2000DM001-1ER1
Единицы: секторы 1 * 512 = 512 байт
Размер сектора ( логический/физический): 512 байт / 4096 байт
Размер ввода-вывода (минимальный/оптимальный): 4096 байт / 4096 байт
Тип метки диска: gpt
Идентификатор диска: 9FED7901-45C1-4954- BF97-98F47C14FD92

Dispositivo Start Fine Settori Size Tipo
/dev/sda1 2048 1026047 1024000 500M BIOS boot
/dev/sda2 1026048 3907028991 3906002944 Файловая система Linux 1,8T

Диск /dev/sdb: 29,82 ГиБ, 32017047552 байт, 62533296 секторов
Модель диска: SAMSUNG SSD CM85
Единицы: секторы 1 * 512 = 512 байт
Размер сектора ( логический/физический): 512 байт / 512 байт
Размер ввода-вывода (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: gpt
Идентификатор диска: 81AE3F2B-DF64-48D0- B161-80EBC1FBBCF6

Dispositivo Start Fine Settori Размер Типо
/dev/sdb1 2048 46878719 46876672 22,4G Linux filesystem
/dev/sdb2 46878720 62531583 15652864 7,5G Linux swap

Диск /dev/zram0: 8 ГБ, 8589934592 байт, 2097152 сектора
Единицы: секторы по 1 * 4096 = 4096 байт
Размер сектора (логический/физический): 4096 байт / 4096 байт
Размер ввода/вывода (минимальный/оптимальный): 4096 байт / 4096 байт

  1. Диск 1,8T (sda), на котором есть загрузочная (sda1) и резервная копия старого /home, который у меня был в Fedora 33 (sda2).
  2. Диск около 30 ГБ с linux (sdb1) swap (sdb2).

Так сложилась ситуация после того, как я обновился до Fedora35 с новым домом на маленьком диске.

Я хотел бы смонтировать /home на большой диск, следуя вашим инструкциям выше, но на большом диске уже есть данные, файловая система старого /home. Как мне поступить, чтобы не потерять все?

Заранее спасибо за помощь

В Windows 7, 8, 10, 11 и т. д. перейдите в папку c:\users\username, и в этой папке есть такие папки, как "Видео", "Документы", "Изображения" и т. д., щелкните правой кнопкой мыши и выберите "Свойства", вкладка "Расположение" и переместите эту папку на новый диск, и все будет идеально, все просто.

Теперь я использую Linux как свою единственную ОС, почему это не может быть так просто? В Linux я не могу заходить в файлы и щелкать документы, например, потому что они хранятся не там.

В отличие от переноса данных, установленные программы нельзя переместить на другой диск, просто нажав Ctrl + C и Ctrl + V. Все в одном разрешении для переноса ОС Windows, установленных приложений и данных диска на новый диск большего размера. жесткий диск — клонировать весь системный диск на новый диск.

Как перенести старую операционную систему на новый жесткий диск?

Пошаговый перенос ОС на новый жесткий диск

  1. Подключите новый SSD или HDD к компьютеру. …
  2. Установите и откройте Partition Assistant Standard. …
  3. Выберите новый жесткий диск в качестве целевого диска. …
  4. Чтобы изменить размер системного раздела, перетащите стрелку с двумя концами или просто введите нужное число в поле ниже.

Можно ли переместить Ubuntu на другой диск?

Смонтируйте старый раздел Ubuntu в какой-либо каталог, смонтируйте новый в какой-либо другой каталог. Скопируйте все файлы из старого в новый с помощью команды cp -a. Установите grub на новый диск. Обновите /etc/fstab с новыми UUID.

Как сделать резервную копию всей моей системы Linux?

4 способа сделать резервную копию всего жесткого диска в Linux

  1. Дисковая утилита Gnome. Возможно, самый удобный способ сделать резервную копию жесткого диска в Linux — это использовать Gnome Disk Utility. …
  2. Клонезилла. Популярным способом резервного копирования жестких дисков в Linux является использование Clonezilla. …
  3. ДД. …
  4. ТАР. …
  5. 4 комментария.

Как перенести Linux с жесткого диска на SSD?

  1. Установите SSD.
  2. Загрузитесь с USB и клонируйте жесткий диск на SSD с помощью dd.
  3. Измените UUID новой файловой системы. …
  4. Обновите fstab в новой файловой системе. …
  5. Повторно сгенерируйте initramfs , переустановите и перенастройте grub.
  6. Переместите SSD на первое место в приоритете загрузки, готово.

Как бесплатно перенести ОС на SSD?

<р>2. Перенос ОС с помощью бесплатного инструмента переноса ОС

  1. Перенос ОС с помощью бесплатного инструмента переноса ОС. …
  2. Подключите SSD к компьютеру; установить и запустить AOMEI Partition Assistant Standard; затем нажмите «Перенести ОС на SSD» и прочтите информацию.
  3. Выберите нераспределенное пространство на целевом SSD.

Как перенести ОС на SSD без клонирования?

Вставьте загрузочный установочный носитель, затем войдите в BIOS и внесите следующие изменения:

  1. Отключить безопасную загрузку.
  2. Включить устаревшую загрузку.
  3. Если доступно, включите CSM.
  4. При необходимости включите загрузку через USB.
  5. Переместите устройство с загрузочным диском на первое место в порядке загрузки.

Становится ли клонирование диска загрузочным?

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

Что лучше: клонировать или создать образ жесткого диска?

Клонирование отлично подходит для быстрого восстановления, но создание образов дает гораздо больше возможностей для резервного копирования. Создание моментального снимка инкрементной резервной копии дает вам возможность сохранять несколько изображений, не занимая при этом много места. Это может быть полезно, если вы загрузили вирус и вам нужно вернуться к более раннему образу диска.

Как установить Windows на новый жесткий диск без диска?

Чтобы установить Windows 10 после замены жесткого диска без диска, вы можете сделать это с помощью Windows Media Creation Tool. Сначала загрузите Windows 10 Media Creation Tool, затем создайте установочный носитель Windows 10 с помощью USB-накопителя. Наконец, установите Windows 10 на новый жесткий диск с USB.

Смонтируйте старый раздел Ubuntu в какой-либо каталог, смонтируйте новый в какой-либо другой каталог. Скопируйте все файлы из старого в новый с помощью команды cp -a. Установите grub на новый диск. Обновите /etc/fstab с новыми UUID.

Как перенести Linux с одного диска на другой?

  1. Смонтируйте исходный и конечный разделы.
  2. Выполните эту команду из терминала: $ sudo cp -afv /path/to/source/* /path/to/destination. Не забудьте звездочку после исходного пути.
  3. После того, как команда завершит копирование, завершите работу, извлеките исходный диск и снова загрузите live CD.

Как перенести Ubuntu с жесткого диска на SSD?

  1. Загрузитесь с USB-накопителя Ubuntu live. …
  2. Скопируйте раздел, который вы хотите перенести. …
  3. Выберите целевое устройство и вставьте скопированный раздел. …
  4. Если ваш исходный раздел имеет загрузочный флаг, что означает, что это был загрузочный раздел, вам необходимо установить загрузочный флаг вставленного раздела.
  5. Применить все изменения.
  6. Переустановите GRUB.

Можно ли перенести ОС на другой жесткий диск?

Вы купили новый жесткий диск и, как и я, ленивы и не хотите переустанавливать свою операционную систему (ОС). … Ну, лучший способ перенести вашу информацию на новый диск — это перенести всю вашу ОС на новый диск. Это не так просто, как копирование и вставка, но это будет довольно безболезненно.

Как заменить диск C на диск D в Ubuntu?

  1. Сначала вам нужно зайти в папку «/dev» с помощью команды «cd» и увидеть файлы с именами типа «/sda, /sda1, /sda2, /sdb», вам нужно узнать, какой из них D и E диски.< /li>
  2. Если вы используете Ubuntu, откройте программу «Диски», чтобы увидеть все диски и их свойства.
  3. Затем смонтируйте их с помощью следующих команд:

Как переместить root в Linux?

Команды файлов и каталогов

  1. Чтобы перейти в корневой каталог, используйте «cd /»
  2. Чтобы перейти в домашний каталог, используйте «cd» или «cd ~»
  3. Чтобы перейти на один уровень каталога вверх, используйте «cd ..»
  4. Чтобы перейти к предыдущему каталогу (или обратно), используйте «cd -»

Как перенести Linux с жесткого диска на SSD?

Вот что я сделал, шаг за шагом:

  1. Установите SSD.
  2. Загрузитесь с USB и клонируйте жесткий диск на SSD с помощью dd.
  3. Измените UUID новой файловой системы. …
  4. Обновите fstab в новой файловой системе. …
  5. Повторно сгенерируйте initramfs , переустановите и перенастройте grub.
  6. Переместите SSD на первое место в приоритете загрузки, готово.

Что лучше: клонировать или заново установить SSD?

Перенос ОС на SSD приведет к удалению всех существующих разделов и данных на целевом диске. … Если у вас нет проблем с вашей текущей ОС и другим программным обеспечением, клонирование будет лучшим выбором для вас. В конце концов, когда вы выполняете чистую установку, вам приходится переустанавливать все драйверы, программное обеспечение и т. д.

Что делать после клонирования жесткого диска на SSD?

Выполнив следующие простые действия, ваш компьютер сразу загрузит Windows с SSD:

  1. Перезагрузите компьютер, нажмите клавишу F2/F8/F11 или клавишу Del, чтобы войти в среду BIOS.
  2. Перейдите в раздел загрузки, установите клонированный SSD в качестве загрузочного диска в BIOS.
  3. Сохраните изменения и перезагрузите компьютер. Теперь вы должны успешно загрузить компьютер с SSD.

Как бесплатно перенести ОС с HDD на SSD?

Пошаговое руководство по переносу ОС Windows на новый твердотельный или жесткий диск: Шаг 1 Запустите DiskGenius Free Edition на своем компьютере и нажмите «Инструменты» > «Миграция системы». Шаг 2 Выберите целевой диск и нажмите OK. Во всплывающем окне вы можете выбрать целевой диск, и вы должны убедиться, что выбран правильный диск.

Как перенести ОС на SSD без клонирования?

Вставьте загрузочный установочный носитель, затем войдите в BIOS и внесите следующие изменения:

  1. Отключить безопасную загрузку.
  2. Включить устаревшую загрузку.
  3. Если доступно, включите CSM.
  4. При необходимости включите загрузку через USB.
  5. Переместите устройство с загрузочным диском на первое место в порядке загрузки.

Клонирование жесткого диска копирует ОС?

Что означает клонирование диска? Клонированный жесткий диск — это точная копия оригинала, включая операционную систему и все файлы, необходимые для загрузки и работы.

Как получить доступ к диску C в Ubuntu?

В зависимости от того, какая у вас версия Ubuntu, вы просто загружаетесь в Ubuntu GNU/Linux, входите в систему и затем нажимаете «Места»> «Компьютер». В окне «Компьютер» вы должны увидеть несколько значков, похожих на дисководы, что-то вроде «Привод CD/DVD», «Файловая система», а затем еще один, который может называться «Жесткий диск 80 ГБ: локальный» или что-то в этом роде..< /p>

У меня есть Ubuntu 14.04 с множеством пакетов и рабочих вещей, которыми я очень доволен. Он установлен на моем основном SSD-накопителе объемом 120 ГБ (я выбрал «/» при установке Ubuntu, поэтому я считаю, что все должно быть на этом диске). Он отображается как /dev/sda

Теперь я добавил к своему компьютеру еще один твердотельный накопитель емкостью 240 ГБ. В данный момент у меня нет под рукой других носителей информации (например, внешнего жесткого диска).

Поскольку новый диск емкостью 240 ГБ имеет большую емкость и быстрее (более новое поколение, чем мой диск емкостью 120 ГБ), я хочу перенести свой Linux на этот новый диск. Этот новый диск отображается как /dev/sdb, и на данный момент он не отформатирован или что-то в этом роде (я буквально распаковал и вставил его в свой компьютер прямо сейчас: P)

Как безопасно перенести установку Linux на новый диск?

Я могу заменить кабель SATA, чтобы новый диск отображался как /dev/sda, если это необходимо.

Это вывод "fdisk -l", если это поможет:

Похоже, теперь вы планируете использовать их оба. Если это так, вам следует подумать об использовании более новой, более крупной папки как /home вместо всей системы. Это должно быть более простым изменением (просто переместите все и добавьте одну строку в /etcs/fstab), и большинство больших файлов, скорее всего, попадут в ваш домашний каталог (и, следовательно, на больший диск).

8 ответов 8

Для этой цели вы можете использовать CLONEZILLA.

Clonezilla — это бесплатный инструмент для создания образов/клонирования разделов и дисков, который можно использовать для резервного копирования всех ваших данных (целых дисков или разделов) в сильно сжатом виде, а затем клонировать их обратно на жесткий диск, чтобы привести их в точно такое же состояние. . В большинстве случаев это быстрее, чем установка ОС.

Загрузиться с созданного носителя Clonezilla.

Теперь у вас есть много вариантов:

  1. Создайте образ только с символом "/" (сохраненные части) и клонируйте его в любой раздел другого твердотельного накопителя.
  2. Создайте образ полного диска (savedisk) и клонируйте его на новый SSD.

введите здесь описание изображения

В вашем случае вы также можете использовать опцию "устройство-устройство", но я не знаком с ней.


@adampski : Похоже, это ошибка в Clonezilla 2.4.5.В качестве обходного пути вы можете использовать Clonezilla 2.4.2 или Clonezilla 2.4.2 Server Edition (DRBL), пока проблема не будет исправлена. :)

@severus, интересно, почему тогда никто не говорит об использовании пакета и настаивает на использовании загрузочной флешки/диска. Пакетный способ без загрузки звучит намного проще.

Это можно сделать несколькими способами. Но проще всего просто скопировать все файлы со старого диска на новый.

Создайте раздел ext4 и раздел подкачки на новом диске.

Загрузиться с LiveUSB.

Смонтируйте старый раздел Ubuntu в какой-либо каталог, смонтируйте новый в какой-либо другой каталог.

Скопируйте все файлы из старого в новый с помощью команды cp -a.

Обновите /etc/fstab, указав новые UUID.

Если что-то непонятно, могу добавить пояснения.


+1 - также можно не загружаться с LiveUSB и делать все при загрузке с исходного диска, делать все изменения, перезагружаться, вуаля.

@Étienne: не копируйте эти каталоги (также /dev ), просто создайте пустые каталоги на целевом диске и установите для них тех же владельцев/разрешения, что и на исходном диске.

В итоге я использовал: sudo rsync -a / /mnt/linux/ --exclude sys --exclude proc --exclude dev --exclude tmp --exclude media --exclude mnt --exclude run, затем sudo mkdir sys proc dev tmp media mnt run

Чтобы не исключать смонтированные файловые системы, как предложил @Étienne, я использовал sudo rsync -a -x / /mnt/linux . Флаг -x означает, что будут созданы точки монтирования для proc , dev и т. д., но фактическое содержимое смонтированных файловых систем не будет скопировано.

@Étienne, не могли бы вы отредактировать свой --exclude-comment? Если вы делаете это так, как вы написали, /var/tmp также исключается (мне кажется), после клонирования это пропускается systemd-resolved.service, что приводит к тому, что разрешение имен не работает. Я думаю, это должно быть --exclude /tmp --exclude /proc и т. д. Спасибо

Если у вас есть время и вы хотите перестраховаться:

Объяснение команды:

Кроме того, в Ubuntu и большинстве других систем Linux (начиная с GNU/coreutils 8.24, 2015 г.) вы можете использовать status=progress для вывода хода выполнения процесса.

Это в основном создаст образ вашего диска sda и запишет его на sdb (тот же макет раздела и т. д.). Конечно, это запишет все 120 ГБ, поскольку он не зависит от файлов. Таким образом, очень безопасный, но не самый быстрый, если вы используете только небольшие участки диска. Однако, если входной диск довольно заполнен, это может быть даже быстрее.

  • После этого вы, вероятно, захотите изменить размер разделов, иначе вы не сможете воспользоваться дополнительным пространством.
  • В любом случае может потребоваться отредактировать файл /etc/fstab.
    Это тот случай, когда для распознавания дисков используются идентификаторы оборудования.


Спасибо за подробный ответ. Я узнал кое-что! но я решил пойти с clonezilla и впоследствии изменить размер разделов.

@ljden спасибо, тогда это было не очень доступно, но в настоящее время широко поддерживается. Я добавил это.

Когда я переключаюсь на новый жесткий диск, я делаю следующее:

  • создать нужный мне макет раздела на новом диске
  • загрузиться с Live CD/USB или установить, восстановить и т. д.
  • смонтировать старые разделы жесткого диска для копирования, например, в /mnt/a
  • смонтировать новый(е) раздел(ы) жесткого диска для получения файлов, скажем, /mnt/b
  • cp -a или используйте tar для копирования файлов из /mnt/a в /mnt/b
  • установить загрузчик (lilo или grub) на новый диск ¹
  • обновите файл /etc/fstab (возможно, вы захотите использовать blkid для идентификации новых UUID)
  • перезагрузите и проверьте, все ли в порядке

Примечание¹:

Проверьте все жесткие диски и разделы с помощью следующей команды:

Теперь обратите внимание на раздел, на котором установлена ​​Ubuntu, который будет выглядеть так: /dev/sda1

Смонтируйте раздел, в который нужно установить GRUB 2 (раздел жесткого диска), и файловая система появится в Nautilus. Теперь нам нужно смонтировать правильный раздел жесткого диска, чтобы внести изменения в фактическую MBR жесткого диска. Для этого нам нужно:

Теперь смонтируйте раздел в другое место

Создайте неразрывную ссылку из папки /dev живого образа, с которого вы загрузились, в папку /dev раздела, который вы смонтировали в /mnt

Теперь нам нужно изменить корень живого компакт-диска ( / ) на корень смонтированного раздела

Теперь вы находитесь в новой корневой оболочке, в которой смонтированный раздел является новым корнем. Вы можете проверить это, набрав ls . Поскольку сейчас мы находимся в смонтированном разделе, мы можем продвинуться вперед и установить GRUB 2:

Установка должна завершиться без ошибок

Выйдите из оболочки CHROOT, набрав exit или нажав Ctrl + D, чтобы вернуться в оболочку Live CD/USB

Размонтируйте разделы, которые мы смонтировали ранее, чтобы выполнить чистую перезагрузку:

и перезагрузите компьютер после извлечения Live CD или USB-накопителя для загрузки с жесткого диска:



@baobab33: Вам разрешено копировать и вставлять инструкции сюда, на этот сайт, а затем атрибутировать. Вы не можете просто ссылаться на внешний источник. Также обновите исходный код с исправлениями, указанными выше.

В отличие от других ответов, это позволяет вам клонировать установку Linux и добавлять ее в меню Grub с сохранением ваших текущих установок. Кроме того, он автоматически изменяет /etc/fstab для вас и обновляет загрузочное меню grub.

Предусмотрено меню, которое поможет вам выбрать правильный раздел для клонирования. Клон из раздела — это ваш текущий загруженный раздел.

rsync используется для оптимальной скорости, если вы решите повторно клонировать раздел. Это полезно, если обновление не удалось, вы ждете исправления ошибки и хотите снова запустить обновление. Точно так же вы могли выбрать неправильные параметры во время обновления и хотите сделать это снова.

clone-ubuntu.jpg


Я решил провести эксперимент, связанный с этим постом.

Я приобрел Lenovo ThinkCentre. У него был SSD на 256 ГБ и HDD на 1 ТБ (типа spinner — быстрый, но не такой быстрый, как SSD).

Когда я установил Linux Mint 19.2 (LM19.2), он установил его на диск емкостью 1 ТБ. Твердотельный накопитель оказалось невозможно восстановить, и я купил новый твердотельный накопитель Kingston емкостью 240 ГБ.

Я собирался установить LM19.2 на новый SSD, но мне показалось, что должен быть способ перенести мой хорошо проработанный образ LM19.2 с диска емкостью 1 ТБ на новый SSD.

Я нашел этот пост, и, несмотря на то, что выше есть несколько полезных советов, я хотел поэкспериментировать. Ниже приведен отчет о том, что я сделал, и это сработало ОЧЕНЬ хорошо.

  1. Я использовал GParted для создания таблицы разделов и разделов на SSD того же типа, что и на жестком диске емкостью 1 ТБ.
  2. Я выполнил снимок TimeShift (новый инструмент в Ubuntu / Linux Mint) ВСЕХ на жестком диске LM19.2 емкостью 1 ТБ.
  3. Я восстановил этот снимок на SSD.
  4. После того, как вышеуказанные шаги были выполнены (вы даже можете сделать 1 параллельно с 2 и 3), я перезагрузился, убедившись, что он выберет SSD.
  5. Единственное, что было странным во время перезагрузки, это то, что ПЕРВОНАЧАЛЬНЫЙ экран grub спрашивал, хочу ли я загрузиться в Ubuntu. Я предположил, что это особенность восстановления TimeShift, и так оно и было.
  6. Последующие запуски загружались как обычно в LM19.2.
  7. Я отредактирую этот ответ, как только подтвержу, что могу сделать это с новым диском, подвешенным к ПК снаружи (и кажется очевидным, что это сработает), потому что это означает, что я могу быстро воспроизвести любой из мои машины LM на новое оборудование.

Одна только скорость загрузки оправдывала эти простые действия. Даже Dropbox перенесся нормально — он просто хотел, чтобы я снова вошел в систему, и для индексации файлов потребовалось все время, но все работало отлично.

@MartinMarconcini, вы правы. Я только сделал это, как указано выше до сих пор. Просто пока не нужно или не было возможности сделать шаг 7.

  1. Убедитесь, что ваша установка включает диспетчер разделов (PM). Если нет, установите gparted.
  2. Подключите новый диск через USB-адаптер. Хорошо проверьте с помощью PM, какой диск какой. Обычно старый — /dev/sda, а новый — /dev/sdb, но лучше перестраховаться, чем потом сожалеть. Если вы перепутаете диски, вы просто затрете существующую установку. Помните: dd не зря называют разрушителем дисков.
  3. Используйте команду dd, как описано выше командой ljrk, чтобы побайтно скопировать старый диск на новый. Добавьте status=progress в параметры dd, чтобы следить за ходом выполнения.
  4. Запустите PM. На новом диске создайте, а затем уничтожьте временный раздел, заполнив лишнее место. Это приводит к перезаписи таблицы разделов в соответствии с размером нового диска. Важно: последовательность действий должна быть такой: создать-применить-уничтожить-применить.
  5. С помощью PM измените размер раздела(ов) на новом диске по своему вкусу, чтобы использовать весь диск.
  6. Завершите работу, поменяйте местами диски, запустите и убедитесь, что все работает нормально.

Если вы хотите использовать старый диск как внутренний:

  1. Подключите старый диск через USB-адаптер, отформатируйте его и разбейте по своему вкусу.
  2. Завершение работы, установка старого диска рядом с новым, запуск.

Если вы хотите использовать старый диск как часть вашей файловой системы, добавьте что-нибудь в мелодию,

UUID=actual-uuid-here /data ext4 по умолчанию, отбросить 0 2

в /etc/fstab, затем запустите sudo mount -a или перезапустите.

Если у вас нет USB-адаптера, такая же процедура должна работать и с горячей заменой дисков, но здесь вы сами.Безопаснее использовать USB-диск или CD/DVD с установленной системой (например, установочный носитель). В этом случае вы можете изначально поставить оба диска (новый и старый) на свои места, затем загрузиться с носителя и сделать копирование и т.д.

Новый диск не обязательно подключать к тому же разъему SATA, что и старый, но тогда может потребоваться изменить последовательность загрузки в BIOS.

Ниже приведено мое исследование с описанием попытки скопировать «Ubuntu 20.04 с включенным режимом гибернации в отдельный раздел подкачки на Thinkpad T420» на новый диск SDD на основе ответов на текущий вопрос. В конце концов я добился успеха, но столкнулся со многими проблемами (нюансами), пытаясь использовать эти рекомендации. Ниже SDD и HDD будут рассматриваться как взаимозаменяемые термины.

Сначала я попробовал самый простой и понятный способ (как я думал), который описан в ответе Pilot6 - копирование файлов из исходного раздела в целевой раздел

тоже не сработало.

Проблема была не в Grub, а в UUID раздела подкачки, который указывал на старый диск.

Если вы делаете это для Ubuntu с включенным режимом гибернации на отдельном разделе подкачки, вам также необходимо обновить UUID раздела подкачки в /etc/uswsusp.conf и выполнить команду для обновления initramfs, чтобы применить изменения:

update-initramfs -u -k все

В противном случае при загрузке будет черный экран без диагностического сообщения.

К счастью, однажды случайно я оставил этот черный экран примерно на 5 минут, чтобы зависнуть. Затем появилось следующее диагностическое сообщение:

резюме: не удалось указать файл устройства возобновления '/dev/disk/by-uuid/8e8927aa-eca7-43d6-b7cd-66cfda70a242 Введите полный путь, чтобы повторить попытку, или нажмите ENTER, чтобы загрузить система:

stat , не запускается - вероятно, опечатка в сообщении.

Позже я узнал, что '8e8927aa-eca7-43d6-b7cd-66cfda70a242' - это UUID моего раздела подкачки на старом жестком диске.

Я смог загрузиться в новой системе, указав корневую папку на новом диске с помощью простого имени раздела, а не UUID: "/dev/sdx1" и нажав Enter .

Интересно, что я указываю новое корневое расположение, а не новое место подкачки. Кажется, Ubuntu как-то разобрался.

Я запускаю команду для обновления initramfs после загрузки новой копии Ubuntu. В журнале команд было следующее:

что означает, что UUID подкачки был успешно изменен.

Также я пытался запустить обновление для initramfs из chroot (из старой копии Ubuntu или Live-версии Ubuntu):

команда initramfs была выполнена из chroot, но не было сообщения об обновлении UUID возобновления, как в предыдущем журнале - не знаю, работает ли это правильно.

На тот момент я уже обновлял Grub из chroot следующими командами:

После этого я смог загрузиться с нового диска SDD без старого диска SDD.

Под этим ответом в комментариях есть комментарий от andrybak:

В настоящее время пытаюсь использовать этот ответ для переноса моей установки со старого жесткого диска на новый. У меня не получается выполнить шаг «Установить grub на новый диск». Grub продолжает указывать/находить установку на старом жестком диске, и я не знаю, как убедить Grub посмотреть на новый жесткий диск.

Это может быть похожей проблемой, описанной выше.

Ubuntu, сделанная таким образом, загружается нормально, но я заметил проблему с системой безопасности: когда я монтирую разделы других дисков с помощью gnome-disks, я не могу открыть их в nautilus (нажатие на их ссылки в gnome-disks ничего не даст). Это связано с ошибкой: Отказано в доступе .

Решение было следующим:

  1. Обычно я устанавливал новую Ubuntu (минимальную версию без офиса и обновлений) на новый SDD-диск.
  2. Скопированы файлы старой версии Ubuntu на раздел с новой установкой Ubuntu. В этом случае не было проблемы с отказом в доступе. Может быть, это можно исправить быстрее - я не исследовал.

При таком подходе я скопировал свою Ubuntu с MBR-диска на новый GPT-диск. (Перед установкой минимальной версии Ubuntu я отформатировал новый SDD как GPT.) Связанные вопросы:

Копирование файлов под работающей исходной ОС не работает:

Я попытался скопировать файлы в текущей рабочей системе (не в версии Live), как обсуждалось в комментариях под ответом Pilot6, с помощью следующих команд:

И обновление Grub из chroot.

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

Также проверен ответ ljrk - с помощью команды dd

Используя USB SDD с установленной Ubuntu и командой dd, я побитно скопировал исходный SDD на целевой SDD. В результате у целевого SDD были те же разделы, те же UUID, тот же PARTUUID.

Ниже рассказывается о создании Live USB SDD и изменении UUID, PARTUUID на новые.

Для более высокой скорости лучше вставить исходный и целевой SDD-диски внутрь ноутбука (второй SDD-диск с помощью адаптера optibay / caddy), и запустить команду dd с загрузочного USB-накопителя или USB SDD / USB HDD. Я нашел две программы для Ubuntu, чтобы сделать загрузочную флешку или жесткий диск USB. Я хотел сделать USB HDD (SDD), и это было довольно сложно.

Программу WoeUSB также можно использовать для создания загрузочного жесткого диска, а не только флешки, но это не указано в описании программы. Приведенная ниже команда создает загрузочный жесткий диск из образа Windows 10 Pro (в пользовательском интерфейсе невозможно указать жесткий диск USB, только USB-накопитель):

sudo woeusb --device "/home/sunkrop/Downloads/Win10_21H2_Russian_x64.iso" /dev/sdx --target-filesystem ntfs

Также попробовал инструмент UNetbootin (для Ubuntu), но он не может использовать NTFS, только FAT32 - это не подходит для образа Win 10 pro, так как он имеет файл размером около 4,5 ГБ (FAT32 не поддерживает файлы с размер более 4 Гб). Установочный образ Ubuntu 20.04 должен быть установлен на раздел FAT32 (самый большой файл в образе ubuntu-20.04.3-desktop-amd64.iso — casper/filesystem.squashfs размером 2,1Gb). Я использовал уже установленную Ubuntu, подключенную через USB SDD.

Следующая команда записывает образ на USB SDD с FAT32 FS:

sudo unetbootin installtype=HDD targetdrive=/media/sunkrop/winds/ method=diskimage isofile="/home/sunkrop/Downloads/Win10_21H2_Russian_x64.iso"

В пользовательском интерфейсе невозможно указать цель как жесткий диск USB, только как USB-накопитель. В параметре targetdrive необходимо указать путь к подключенному USB-накопителю. И в конце должен быть знак косой черты / иначе команда завершится с ошибкой:

В файле unetbootin /dev/sdx1sources недостаточно места

Или, может быть, не выйдет из строя, но будет записывать файлы не на целевой диск.

dd полезен, если вы хотите просто перенести свою систему на другой диск — даже Dropbox работает на целевом SDD, не требуя повторной привязки. Старый диск можно отформатировать. Готово.

Но если вы хотите, чтобы оба жестких диска работали в одном ноутбуке, UUID и PARTUUID нового жесткого диска необходимо изменить на уникальные. Ниже информация об этом.

Как изменить UUID раздела в файловой системе Linux

Как изменить PARTUUID?

Ответ Северуса Такса — об использовании Clonezella

Это также хороший способ, но на подготовку и настройку потребуется больше времени по сравнению с использованием команды dd — USB-накопитель Clonezella Live должен быть подготовлен, загружен, и перед запуском необходимо просмотреть многие меню пользовательского интерфейса Clonezella. процесс клонирования или сохранения образа системы. Clonezella работает аналогично dd — UUID, PARTUUID также будут скопированы на целевой SDD-диск.

Читайте также: