Ubuntu установка grub на другой диск
This page details the procedures for installing and reinstalling GRUB 2. The information applies to most versions of GRUB 2, but is specifically written for version 1.99. GRUB 1.99 is included on Ubuntu releases 11.04 (Natty Narwhal) and later. For more information on a variety of GRUB 2 topics, please visit the GRUB2 main page. For information on converting to or from GRUB Legacy, please view the Grub2/Upgrading community doc.
The GRUB 2 bootloader is included on all currently-supported versions of the Ubuntu family. GRUB 2 can accomodate traditional computer firmware such as BIOS as well as the newer EFI/UEFI standards. It is compatible with MBR, GPT and other partitioning tables.
All references to GRUB pertain to GRUB 2. Where GRUB 0.97 is discussed, it will be referred to by version number or as GRUB Legacy.
GRUB 2 installation is automatically incorporated into a normal Ubuntu installation. Input required by the user for the initial setup is very simple. If the installation will use the entire disk no specific GRUB selections are necessary. If the user wants to use a specific partition for Ubuntu the user must select the Ubuntu partition and the drive on which to embed the bootloader information.
The main GRUB 2 folder locations include /boot/grub/ and /etc/grub.d/. User preferences are stored in the /etc/default/grub file. The GRUB 2 menu is built by information contained in /boot/grub/grub.cfg.
Применение изменений
После того, как мы отредактировали и сохранили наши файлы. Нужно закончить дело, обновив файл «grub.cfg». Это довольно просто - нужно всего лишь выполнить команду:
После этого смело перезагружаемся и видим, что все работает как надо.
via Boot-Repair Graphical Tool
Boot-Repair is a GUI application which can fix a variety of GRUB 2 problems. It can be used either from a LiveCD, its own CD, or during a normal Ubuntu session. In addition to providing a simple user interface, Boot-Repair also includes the ability to run a script to gather details of the system which can be used for troubleshooting help on various forums and IRC channels.
Please refer to the Boot-Repair community documentation for instructions on how to install and run this application.
/etc/grub.d
Эта папка содержит в себе скрипты, которые используются для создания файла «grub.cfg». При обновлении GRUB они находят все установленные на компьютере системы и ядра и формируют в файле «grub.cfg» меню загрузки, которое мы и видим. Два основных из них:
«10_linux» и «30_os-prober» отвечают за поиск Linux ядер и остальных ОС на других разделах соответственно.
Файл «40_custom» позволяет добавлять свои пункты загрузки. Это может быть полезно, если вы, например, хотите добавить какие-то особые варианты загрузки системы.
Файл «40_custom» должен заканчиваться пустой строкой, иначе последний пункт не будет отображаться в меню!
Пример
Добавляем режим загрузки без графической заставки, с текстовым отображением процесса загрузки (verbose mode). Для этого мы немного отредактируем обычный пункт загрузки. допустим, он выглядит так (в «/boot/grub/grub.cfg«):
Для того, чтобы сделать из этого verbose mode, нам нужно убрать опции quiet и splash и изменим название самого пункта. В итоге получаем:
Все это и добавляем в «40_custom» в конец файла. Строка с echo не является обязательной она лишь будет сигнализировать нам о том, что наш пункт найден и добавлен при обновлении GRUB.
Изменение времени отображения меню
По умолчанию меню загрузки отображается 10 секунд (при наличии других установленных ОС, если система одна - GRUB по умолчанию не отображается и сразу начинает загрузку), после чего загружается стандартный пункт, если раньше не нажат Enter или не выбран другой пункт, что останавливает таймер. За эту задержку отвечает параметр «GRUB_TIMEOUT», значение задается в секундах.
Если поставить значение «-1», то меню будет отображаться до тех пор, пока пользователь не выберет какой-либо пункт
Обратите внимание, что цифра указывается в кавычках. В нашем примере это значение - 2, то есть меню отображается две секунды.
"Скрытое" меню
В случае, если на компьютере установлена только Ubuntu, меню загрузки по умолчанию не будет отображаться, а GRUB будет загружать вас напрямую в систему. Однако же, иногда может возникнуть необходимость загрузиться с другим ядром или же запустить проверку памяти. Для этого предусмотрено «скрытое меню» за него отвечает параметр «GRUB_HIDDEN_TIMEOUT».
Если значение установлено в 0, то задержки не будет, однако вызвать меню можно, удерживая при загрузке Shift
Параметр «GRUB_HIDDEN_TIMEOUT_QUIET» отвечает за отображение таймера во время паузы. Если его значение «true» таймер отображаться не будет, а со значением «false» будет.
Чтобы GRUB отображал меню со списком установленных операционных систем, без нажатия клавиш вызова меню (например Shift или Esc ) необходимо:
А что если отключить?
Собственно сами случаи, когда циклится загрузка - не так и часты, если машина работает без графики то там вообще мало чему падать на этапе загрузки, да еще так, что бы система вышла на перезагрузку. Разве что совсем кривой прикладной софт встроенный в процесс загрузки…
Гораздо чаще загрузка прерывается из за внешних условий - например пропадает питание, или кто-то сбрасывает грубо систему.
Защита от зацикливания на перезагрузке
Если загрузка ОС не закончилась успешно, или осуществлялась загрузка в режим восстановления, то при следующей загрузке - меню выбора GRUB будет выводится и ждать явного вмешательства оператора (так же, как если бы вы выставили GRUB_TIMEOUT=-1). При этом последующие аппаратные сбросы системы - не помогут проскочить меню.
background_image
Позволяет «на лету» изменить фоновое изображение. Используется в формате:
Дает замечательную возможность посмотреть на выбранную картинку в действии, избегая лишних перезагрузок. В сочетании с заменой цветов через set позволит довольно быстро подобрать подходящий вариант оформления.
При использовании без параметров сбросит текущее фоновое изображение. Однако, заданные цвета останутся, так что если у вас черный цвет текста - на черном фоне вы его не увидите.
1. Подготовка к переносу
Сначала рассмотрим, как использовать утилиту cp для переноса файлов операционной системы. В папку /mnt примонтируйте раздел, на котором будет располагаться новый Linux. Например, это /dev/sdb1:
sudo mount /dev/sdb1 /mnt
Теперь нужно рекурсивно скопировать все файлы из текущего корня в нашу папку /mnt. Лучше всего это делать, загрузившись с LiveCD диска, тогда точно все нужные данные будут сохранены. Но это не обязательно, вы можете делать перенос и работающей системы, только перед этим остановите все запущенные базы данных и сервисы по максимуму, чтобы они сохранили свои настройки и вы ничего не потеряли в новой версии системы. Например, если у вас запущена база данных MariaDB или MySQL, то её нужно остановить:
sudo systemctl stop mariadb
Аналогично сделайте со всеми другими не важными для операционной системы сервисами. Также очистите корзину, кэш пакетного менеджера и другие ненужные файлы, чтобы они не занимали место в архиве или новой системе.
BIOS/MBR Notes
GRUB 2 normally writes its bootloader information to an area just beyond the Master Boot Record and before the first partition. Some software on non-Linux operating systems also used this embedded area and broke the system by overwriting the GRUB 2 information on dual-boot systems. GRUB 2 now can recognize this potential problem and avoid it.
The bootloader information does not have to be installed to the embedded area of the MBR. It may also bypass the MBR entirely and be installed to a specific partition. In doing this, the location of the GRUB 2 files are specified by using blocklists. This option is not available via an Ubuntu GUI installation but can be made via the terminal after installation. Even then this method is not as reliable as writing to the MBR and is not recommended by the GRUB developers.
Installing Ubuntu to a Specific Partition ("Something Else"):
When using the "Something Else" option, you will be offered to choose the "Device for bootloader installation". Please select: * either the disk (eg /dev/sdX, not /dev/sdXY) on which the BIOS is setup to boot (recommended for normal use) * OR the partition (eg /dev/sdXY, not /dev/sdX) on which Ubuntu (/boot, else /) will be installed (only if you want to chainload it from another bootloader; if any doubt, do NOT choose this)
- specify the disk (eg /dev/sdX, not /dev/sdaXY) not currently used to boot the system for the bootloader location.
- After the installation is complete, change the boot order (via BIOS setup) so that the disk to which the GRUB information was written is the one booted first.
- If the user wishes to restore booting with the original bootloader, change the boot order back to the original drive.
7. Перезагрузка
Выйдите из chroot-окружения командой:
Затем размотрируйте системные каталоги и ваш раздел:
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev
sudo umount /mnt
И перезагрузите компьютер. В BIOS вашего компьютера нужно выбрать диск, на который вы переносили Linux, в качестве первого источника для загрузки. После загрузки вы будете уже в новой операционной системе и всегда сможете вернуться в старую.
terminal_output.console
Позволяет переключиться на обычную черно-белую цветовую гамму. Весьма полезно при работе с консолью в том случае, если у вас установлено фоновое изображение. Картинка на фоне - это, конечно, красиво, но на некоторых участках фона может быть не виден текст.
/etc/default/grub
Данный файл содержит в себе основные настройки для GRUB. Через него, собственно, они и изменяются. Для наглядности ниже приводится примерное содержимое этого файла:
Файл представляет из себя набор опций в понятном формате ОПЦИЯ=ЗНАЧЕНИЕ.
Наиболее часто встречающаяся потребность при настройке GRUB - изменение стандартного пункта загрузки и/или времени показа меню. Рассмотрим же, как это делается.
chainloader
Передает управление загрузкой по цепочке другому загрузчику (загрузчик ищется на заданном в качестве root разделе). В общем случае требует указания файла для загрузки:
Для (загрузчика Windows) можно использовать:
При использовании без параметров сообщает, какой раздел сейчас используется в качестве корневого и тип файловой системы на этом разделе, также команда может быть использована для задания другого root-раздела. Раздел задается в «grub device» - формате »(hd*,*)«. например:
После задания раздела команда сообщит новый root-раздел и тип файловой системы. Примечание: «root hd(*,*)» не всегда корректно срабатывает. более предпочтительным вариантом является «set root» (см. ниже)
Весьма универсальная команда для изменения различных параметров. Служит для задания значений переменных и используется в формате:
Наиболее необходимое ее применение - для задания root-раздела, например:
Также с ее помощью можно, например, «на лету» изменить цвет текста в меню и консоли, что позволяет опробовать цветовую схему перед установкой ее в качестве основной. Для этого изменяем переменные «color_normal» - для обычного пункта (и текста в консоли) и «color_highlight» для выделенного пункта соответственно. Например, попробуем такой вариант:
Boot repair after a Windows Upgrade on Ubuntu 14.04 (non-RAID)
- Insert Ubuntu installation media (e.g. Ubuntu 14.04 LTS 64 bit DVD)
- Ensure the bios boot order is set to read the media first (consult your motherboard/computer manual) and restart the computer
- Select Ubuntu Live/Try mode (do not install)
- Click on the purple Ubuntu search button - enter "gparted" and click on its icon
- Determine the name of your linux partition (/dev/sdXY) - you should be able to identify it by recognising its format (most likely ext4) and size (number of GB)
- Click on purple Ubuntu search button - enter "gnome-terminal" and click on its icon
Purging & Reinstalling GRUB 2
The difference between using the grub-install command and purging & reinstalling GRUB 2 is that the latter completely removes all GRUB 2 files and system settings. Purging GRUB 2 is also a method to reset all configuration settings to the default values on a working system. This may correct GRUB 2 failures due to corrupted files and improper configurations as well as for missing folders/files deleted by the user. The GRUB 2 packages removed and reinstalled via this procedure include grub-pc, grub-common and, in Grub 1.99 and later, grub-gfxpayload-lists.
During this operation the user will be temporarily left with no bootloader. Ensure you have a working Internet connection and access to the repositories before purging the GRUB 2 packages.
This procedure can be accomplished very simply via Boot-Repair, or via the terminal procedure below.
Remark: the Boot-Repair procedure will also remove custom files that may block the boot. It is also able to purge and reinstall GRUB2 for UEFI / LVM / RAID systems.
А что если.
Функция (как видно) - безусловно полезная, однако она может быть неудобной для без-клавиатурных станций - на них «зависшее» меню GRUB-а - это не преимущество, а некоторые сложности (без подключения клавиатуры такая станция, попавшая в меню GRUB, никогда не загрузится вообще).
Оцените статью:
Об авторе
30 комментариев
Спасибо за отличную статью
Еще Клонезилла по моему умееет переносить.
Умеет, добавил ссылку в статью.
Программой Timeshift основанной на упомянутой в статье rsync, я переносил бекап и запускал на внешнем жестком диске, тоже как вариант вообще в три клика мышкой.
Ну, что с Виндоус так не получится - не совсем правда 🙂
Во времена 98 мастдая я именно простым копированием переносил вообще всё на новые диски. Запускаешь систему, делаешь fdisk, format, а потом запускаешь far manager и просто выделяешь все файлы на диске C: (естественно и скрытые) и F5 - на диск E:.
Не понимаю до сих пор, как оно копировало загрузочный сектор, но по окончании процесса я вынимал старый диск и система запускалась и работала с нового!
Проверено неоднократно. Ещё и по работе приходилось так же делать "бэкапы", и все заводилось всегда. К тому же 98 прекрасно заводилась на любом новом (другом, то есть) железе. Как правило, на том же диске С был и дистрибутив, с которого она изначально устанавливалась, и при замене компа она просто "находила новое оборудование" и ставила дрова из дистра. Но потом пришла ХП, и счастье прошло.
Как с uefi такое сделать? Только ssd переставил на другой пк. Он его не видет. А через легаси замирает через 15 секунд со включенными иксами.
Вранье. У 98 не было никакого оборудования, она ничего не умела находить, для всего надо было скачать драйвера и установить.
Скажите, а сейчас Windows, можно перенести на другой компьютер, как в Linux?
Как в linux не получиться. Используйте Acronis или ghost. Если переносить систему на том же компе, на другой
Диск, то всё ок. Если копия будет заводится на другом железе, новое железо, не должно иметь более трех аппаратных отличий, проц,чип мамки и т.д
Здравствуйте, большое спасибо за приведенные способы.
А можно ли таким образом на vps подменить систему? Например, сжать диск, выделить раздел, восстановить в него архив . gz, подредактировать grub, чтобы нулевым пунктом была эта система, и иметь таким образом какой нибудь linux mint, а не debian, который они предлагают?
На VPS используется виртуализация, KVM, XEN, OpenVZ и так далее, поэтому дистрибутивы там специальные, модифицированные, лучше попросить техподдержку установить тот дистрибутив, который вам нужен. Если с KVM теоретически может получиться, то с OpenVZ вообще не выйдет.
21-й век на дворе, а линуксы до сих пор без консоли, как без титьки. Любые глюкала напрограммили, а как перенос системы - флешбеки к зелеными монохромами мерещятся.
Мальчик, ты бредишь. Просто не понимаешь матчасть. Кнопочки и окошечки - это монструозная присртойка к программе, которая набирается одной командой в одну строку. Так то..
Для инициализации ядра и запуска операционной системы Linux используется загрузчик. Это программа, которая запускается после завершения проверки оборудования BIOS, подготавливает оборудование к работе, задает нужные параметры ядра и позволяет выбрать операционную систему. Основная задача загрузчика дать пользователю выбрать операционную систему для загрузки.
Раньше для загрузки Linux использовалось несколько загрузчиков, это isolinux, lilo, grub. Но сейчас чаще всего применяется Grub или полное его название GRand Unified Bootloader. В этой статье будет рассмотрена установка загрузчика Grub через терминал. Также мы поговорим как установить grub на компьютер с UEFI, тоже вручную.
Reinstalling GRUB 2 from a Working System
This will rewrite the MBR information to point to the current installation and rewrite some GRUB 2 files (which are already working). Since it isn't done during execution of the previous command, running sudo update-grub after the install will ensure GRUB 2's menu is up-to-date.
BIOS/GPT Notes
If the BIOS is setup to boot the disk in Legacy/mbr mode, installing GRUB2 on a GPT (GUID Partition Table) disk requires a dedicated BIOS boot partition with a recommended size of at least 1 MiB. This partition can be created via GParted or other partitioning tools, or via the command line. It must be identified with a bios_grub flag. The necessary GPT modules are automatically included during installation when GRUB 2 detects a GPT scheme.
GRUB 2 is compatible with EFI/UEFI and will load the necessary modules during installation. For information on this topic, please visit the UEFI community documentation.
5. Правка /etc/fstab
Теперь замените полученным UUID, значение этого параметра корневого раздела в /mnt/etc/fstab:
sudo vi /mnt/etc/fstab
Установка GRUB UEFI GPT
Установка Grub UEFI чем-то похожа на установку в GPT, тут у нас тоже будет отдельный раздел, только на этот раз не для загрузчика, а раздел EFI. Если у вас уже установлена Windows, то, скорее всего, он уже существует. Этот раздел обычно занимает 100 Мб, имеет файловую систему fat32 и флаг ESP. Вот так он будет выглядеть:
Если же такого раздела нет, мы можем его создать с помощью gparted. Для этого создаем раздел с такими параметрами:
Размер 100 Мегабайт, имя раздела ESP, файловая система fat32. Дальше примените изменения и установите для раздела флаг ESP:
То же самое вы можете сделать в Gdisk, только на этот раз нужно устанавливать HEX Code раздела ef00. После того как раздел был создан, подключаем его к нашей файловой системе:
sudo mkdir /boot/efi
$ sudo mount /dev/sda2 /boot/efi
Здесь /dev/sda2 - это наш EFI раздел. Далее необходимо установить нужные пакеты, если они еще не установлены. В Ubuntu это будет выглядеть вот так:
sudo apt install grub-efi efibootmgr
Дальше останется только установка grub efi. Система сама определит нужный раздел и скопирует туда все файлы:
Установка Grub efi на MBR все выглядит точно так же, только тут есть несколько ограничений. Раздел ESP нужно создавать только в начале диска. В режиме EFI тоже можно установить GRUB на флешку, и это не очень сложно. Для этого используется команда:
grub-install --boot-directory=/mnt/sdb2/boot --efi-directory=/mnt/sdb1 --target=x86_64-efi --removable
Рассмотрим опции: --boot-directory - задает папку с файлами загрузчика на флешке, --efi-directory - папка куда смонтирован раздел efi, --target - архитектура целевой системы и --removable говорит, что это установка на съемный носитель. С UEFI все. После перезагрузки и выбора в меню EFI пункта связанного с Grub, вы получите доступ к привычному меню grub и сможете выбрать нужный параметр.
2. Перенос Linux утилитой cp
Далее можно запускать сам перенос Linux на другой диск. Для этого запустите утилиту cp с опциями -a, -r и -x. Первая опция включает сохранение исходных прав и метаданных файла, вторая - рекурсивный обход файловой системы, а третья ограничивает рекурсию только текущей файловой системой:
sudo cp -rxa / /mnt/
Поскольку будут копироваться только файлы из текущей файловой системы, то если ваши каталоги /boot и /home находятся на других разделах, то их нужно скопировать отдельно:
sudo mkdir /mnt/
sudo cp -rxa /boot /mnt/boot/
sudo cp -rxa /home /mnt/home/
Если вам не нужна домашняя папка, то вы можете её не копировать.
Создание дополнительного меню загрузки
Суть в том, что вместо уже знакомого «grub.cfg» можно загрузить свой файл настройки загрузочного меню со своей конфигурацией. Это позволяет создать дополнительное меню с другими пунктами, настройками, оформлением и т.д. Итак, создадим наш новый файл конфигурации. Создавать с нуля не будем, а скопируем «grub.cfg», дав новое имя:
Поскольку файл скопируется с правами 444, выставим ему права на запись:
Теперь открываем его в любимом текстовом редакторе и изменяем:
Если вы в достаточной мере знаете структуру «grub.cfg» и понимаете, какие строки что делают, можно значительно сократить свой файл, убрав лишнее и привести его к более удобочитаемому виду.
set gfxmode здесь задается разрешение экрана в привычном формате WxH. Можно также указать глубину цвета, например «1024x768x32». можно указать несколько вариантов, при этом если первый не сможет быть установлен, будет загружен второй, если и он не сработает - третий и т.д. Например:
Теперь зададим время отображения меню, для этого ищем строку set timeout , и устанавливаем значение -1 для отключения таймера.
Для задания фонового изображения найдем строку с if background_image (подразумевается, что в вашем «grub.cfg» используется фоновое изображение. Если нет - смотрите пример файла в конце раздела). После команды background_image прописан путь к файлу картинки, поменяйте его на нужный файл.
Строкой ниже мы можем задать цвета текста. Изменяются они так же, как и в »/etc/grub.d/05_debian_theme« (см. Настройка внешнего вида загрузчика GRUB). Можно проделать один интересный трюк: уберите строки с set color_highlight и else теперь настройка будет такой:
Закончив с настройкой, перейдем к пунктам меню, они идут ниже. Измените их, удалите ненужные и добавьте новые, пересортируйте на свой вкус.
Настроив свой файл, сохраните его Ctrl + Shift и закройте.
Теперь необходимо добавить дополнительное меню. Для этого в файле »/etc/grub.d/40_custom« добавим запись такого вида:
Если ваш путь к файлу отличается - исправьте его.
Если вы используете отдельный boot-раздел, путь будет таким: »/grub/custom.cfg«. Также учтите, что «40_custom» должен заканчиваться пустой строкой!
Если вы хотите, чтобы ваше новое меню загружалось вместо стандартного «grub.cfg», установите новый пункт в качестве пункта по умолчанию, но перед этим проверьте новое меню на работоспособность.
Обновите свой «grub.cfg» выполнив команду:
Теперь пункт перехода в дополнительное меню появится в главном, для того чтобы выйти обратно в главное меню, достаточно нажать Esc
В качестве образца пример файла «custom.cfg» (файл урезан до необходимого минимума):
Зачем это сделано
При загрузке в лог файлы пишется информация и размеры логов растут. В нормально загруженной систем работают сервисы, которые архивируют и подчищают логи. В нормально работающей системе постоянно пополнение лог-файлов не требует внимания со стороны пользователя.
Совсем иная ситуация при загрузке - никакие сервисы по очистке логов не работают (они запускаются позже) и, если, в процессе загрузки система свалится и начнет перезагружаться, то лог будет только расти. И расти он будет до тех пор пока будут повторятся перезагрузки, и будет хватать места на том разделе диска, где расположен каталог /var/log. А когда на разделе с /var/log место кончится то система зависнет уже наглухо и даже в режим восстановления ее будет не загрузить. Загрузится можно будет только с LiveCD/USB (с Live системы и надо будет лечить систему, первым делом руками зачистив логи).
Защита встроенная в GRUB не позволит системе попасть в столь тяжелое положение.
Установка загрузчика Grub в MBR для BIOS
Начнем с самого просто и привычного. Данная инструкция как установить загрузчик Grub подойдет для любого дистрибутива, поскольку команды везде почти одинаковые. Здесь не нужно устанавливать никаких дополнительных пакетов или создавать разделов. Установка Grub на жесткий диск выполняется командой:
sudo grub-install /dev/sda
sudo grub2-install /dev/sda
Утилиты grub в разных дистрибутивах могут включать двойку, а могут и не включать. Здесь /dev/sda - ваш жесткий диск. Теперь генерируем конфигурационный файл, чтобы автоматически определились установленные операционные системы:
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Готово. По поводу двойки здесь такое же замечание. Если вы хотите установить Grub на флешку в MBR, то тут тоже нет проблем просто примонтируйте флешку и выполните такую команду:
sudo grub-install --root-directory=/mnt/USB/ /dev/sdb
Здесь /mnt/USB - папка, куда была смотирована ваша флешка, а /seb/sdb - сама флешка. Только здесь есть одна проблема, конфигурационный файл придется делать вручную.
Using the Entire Drive ( "Erase disk and install Ubuntu" ):
Install on entire drive: The user should select a drive on which Ubuntu and GRUB 2 will be installed. GRUB 2 will overwrite the drive's boot information and place the GRUB 2 files in the appropriate locations.
Установка загрузчика Grub в GPT для BIOS
Во-первых, мы можем ничего не менять и установить Grub так, как описано в предыдущем способе. Но тогда он будет установлен в область совместимости с MBR, а это не надежно. Поэтому рекомендуется установить grub так, как описано ниже, на отдельный раздел.
Нужный нам раздел можно создать в установщике любого дистрибутива, если вы выполняете установку в графическом интерфейсе или с помощью gparted. Нам нужен раздел размером 1 Мегабайт без файловой системы и с меткой grub_bios:
Дальше примените изменения, нажмите на разделе правой кнопкой, выберите manage flags и добавьте флаг grub_bios:
Готово. Если у вас нет под рукой доступа к графическому интерфейсу, вы можете создать такой раздел через терминал. Утилита fdisk не поддерживает работу с gpt, поэтому будем использовать gfdisk. Сначала запустите утилиту:
sudo gdisk /dev/sda
Чтобы создать новый раздел нажмите n и выберите номер раздела:
Соглашаемся с начальным сектором, будет использован первый же свободный:
Выбираем конечный сектор раздела. По умолчанию будет использоваться максимальный. Нам нужен раздел размером 1 Мб. Размер одного сектора GPT - 512 байт, поэтому нам нужен раздел размеров 2048 секторов. Таким образом, конечный сектор будет 24000 с чем-то.
HEX Code - это тот код, который скажет системе, что этот раздел нужно использовать для Grub, нужно установить ef02:
Готово, осталось нажать w для записи изменений на диск:
Установка grub на жесткий диск дальше выполняется точно так же, как и в предыдущем способе:
sudo grub-install /dev/sda
Осталось создать конфигурационный файл grub:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Теперь переходим к самому сложному, как установить grub efi.
via Boot-Repair Graphical Tool
* Run Boot-Repair either from liveCD or from your installed session * Click "Advanced options" --> "GRUB options" tab * Tick the "Purge GRUB and reinstall it" option --> Apply
Такая задача возникает достаточно редко. Обычно, проще переустановить систему заново, чем переносить уже установленную версию на другой жёсткий диск или другой раздел. Но если у вас там есть важные программы, которые нежелательно удалять, или вы меняли настолько много настроек в системе, что её установка заново займёт намного больше времени, чем её перенос, то перенос будет предпочтительнее.
В этой статье мы рассмотрим, как перенести Linux на другой диск с помощью утилиты cp или архива tar. Второй способ интересен ещё тем, что вы можете создать резервную копию всей системы, а затем просто восстановить её при возникновении проблем.
reboot
4. Перенос с помощью rsync
Утилитой rsync многие не хотят пользоваться, но она очень удобная, работает достаточно быстро и отображает прогресс копирования. Для переноса с помощью rsync выполните:
Эта команда работает аналогично команде tar, копирует всё что есть в новое расположение. Опции -aAX включают сохранение всех метаданных файла, символических ссылок, владельцев, групп, и так далее.
lsfonts
Команда отобразит список загруженных в настоящий момент шрифтов.
При использовании в чистом виде выведет список доступных команд. В формате:
Выведет справку по всем командам, начинающимся на «r».
Отобразит справку по команде «search»
Немного теории
Как я уже сказал, основная задача загрузчика - предоставить возможность выбора операционной системы перед загрузкой. Не думайте, что в Windows загрузчик не используется, там он тоже есть и работает, подобно тому, как работает Grub.
Загрузчик может быть установлен в различные таблицы разделов диска. Сейчас самые используемые это GPT и MBR. Установка загрузчика Grub немного отличается для каждой из этих таблиц, учитывая их особенности. Подробнее об отличиях MBR vs GPT можно почитать в отдельной статье. Тут же я скажу, что GPT - более новая и функциональная таблица разделов, MBR - уже устаревшая, но до сих пор часто используемая.
В MBR вариантов немного, Grub записывается в область MBR на диске. Размер сектора MBR занимает первых 512 байт и этого вполне достаточно для того, чтобы установить туда загрузчик.
GPT предоставляет более широкие возможности. Во-первых, для совместимости в GPT эмулируется сектор MBR, и мы можем установить GRUB туда, но такой вариант очень ненадежный и не рекомендуемый. Во-вторых, теперь появилась возможность устанавливать Grub на раздел диска. Мы просто создаем раздел на диске размером 1 Мб и записываем туда то, что раньше записывалось в MBR, это делает установку загрузчика более надежной и защищенной от сбоев.
UEFI предоставляет совсем иной способ установки загрузчика. Тут его не нужно никуда записывать, загрузчик - это обычное приложение EFI, которое помещается на раздел EFI и уже там полностью успешно работает наряду с другими приложениями.
Для установки Grub будет использоваться команда grub-install, во всех случаях. Давайте кратко рассмотрим ее синтаксис и параметры. Синтаксис:
$ grub-install опции диск
Параметров здесь достаточно много, но нам будут нужны только некоторые:
- --compress - сжать файлы загрузчика;
- --install-modules=модули - установить только эти модули;
- --modules - записать эти модули в MBR;
- --boot-directory - использовать другой каталог для файлов Grub;
- --bootloader-id - имя загрузчика в меню EFI;
- --core-compress - сжимать образ, загружаемый в MBR;
- --efi-directory - использовать системный раздел EFI;
- --force - установить несмотря на ошибки;
- --recheck - удалить существующую карту устройств, помогает если возникают ошибки;
- --removable - установка grub на флешку (только EFI);
Основу разобрали. Теперь перейдем к установке. Дальше я буду предполагать, что все действия выполняются из системы, для которой нужно установить загрузчик или из chroot окружения этой системы.
Особые случаи
Поведение меню отличается от заданного переменными GRUB_TIMEOUT и GRUB_HIDDEN_TIMEOUT когда предыдущая загрузка не завершилась успехом или предыдущаяя загрузка происходила в режиме восстановления. Подробно это описано далее, в разделе «Защита от зацикливания на перезагрузке». Полную справку по параметрам файла настроек можно дав команду:
Отключаем.
Как это работает
Реализовано все достаточно просто - в скрипте /boot/grub/grub.cfg переменная окружения GRUB recordfail устанавливается в ходе каждой загрузки в 1. Скрипт /etc/init.d/grub-common запускается на финальных этапах загрузки (линки с именем S99grub-common есть в /etc/rc2.d, /etc/rc3.d, … /etc/rc5.d). grub-common сбрасывает переменную recordfail в 0. Если скрипт /etc/init.d/grub-common не отработает, то не сброшенное значение recordfail предотвращает автоматическую загрузку, меню GRUB появляется и потребуется явное интерактивное вмешательство со стороны оператора.
Для того, что бы убрать необходимость интерактивного вмешательства в процесс загрузки нужно установить переменную GRUB_RECORDFAIL_TIMEOUT в /etc/defaul/grub в то количество секунд, которые меню GRUB-а будет ждать ввода в случае когда recordfail=1. Сохранить изменения и обновить GRUB (sudo update-grub).
Вы должны понимать, что проделанные изменения могут привести к довольно печальным последствиям, если все-таки у вас случится ситуация, при которой зациклится перезагрузка системы.
Финт с GRUB_RECORDFAIL_TIMEOUT может не сработать в некоторых (старых) версиях GRUB. Тогда нужно редактировать /etc/grub.d/00_header. Нужно найти функцию make_timeout (), которая выглядит примерно так:
и заменить в ней строчку
После этого финт с GRUB_RECORDFAIL_TIMEOUT заработает. Нужно сохранить изменения и обновить GRUB (sudo update-grub).
Изменения в скрипте /etc/grub.d/00_header могут быть утеряны при обновлении пакета grub-common. Но в новых версиях GRUB переменная GRUB_RECORDFAIL_TIMEOUT уже внедрена (т.е. эти изменения уже сделаны в 00_header).
Fixing a Broken System
If a system has become unbootable due to a GRUB 2 failure or corrupted MBR/boot sector, there are various methods for reinstalling GRUB 2. The simplest is listed first, followed by more complicated methods.
Как перенести Linux на другой диск
Поскольку все данные, настройки и объекты операционной системы Linux - это файлы, то вы можете перенести свою операционную систему куда нужно, просто скопировав все нужные файлы. В Windows так де просто не получится, так, как там более сложная файловая система со сложными зависимостями.
initrd
Загружает указанный initrd-образ. Используется так:
linux
Аналог команды «kernel» в GRUB Legacy. Загружает указанное Linux-ядро:
Выводы
Теперь установка Grub не вызовет у вас проблем. Мы разобрали не только как установить Grub2 в MBR но и в EFI. Кроме того, всю приведенную здесь информацию вы можете использовать для восстановления Grub. Так вы будете лучше понимать что происходит во время восстановления. А настройку параметров и ручное создание конфигурационного файла мы рассмотрим в одной из следующих статей.
Следуйте инструкциям по установке пока вы не достигните этапа разметки дисков, затем:
Выберите метод разметки Вручную.
Выберите первый жесткий диск и согласитесь «Создать новую пустую таблицу разделов на этом устройстве?».
Повторите этот шаг для каждого диска, который вы собираетесь включить в RAID массив.
Выберите «СВОБОДНОЕ МЕСТО» на первом носителе и выберите «Создать новый раздел».
Далее, выберите размер раздела. Этот раздел будет разделом подкачки, а общее правило для определения размера раздела подкачки – двойной объем RAM. Введите размер, далее выберите «Первичный», затем «Начало».
Двойной размер раздела подкачки по отношению к оперативной памяти (RAM) не всегда желателен, особенно на системах с большим объемом RAM. Расчет размера раздела подкачки в значительной степени зависит от того, как будет использоваться система.
Выберите строку «Использовать как:» вверху. По умолчанию там установлено «Журналируемая файловая система Ext4», измените ее на «физический том для RAID » затем выберите «Настройка раздела закончена».
Для раздела / снова выберите «СВОБОДНОЕ МЕСТО» на первом носителе и нажмите «Создать новый раздел».
Используйте оставшееся свободное на носителе место и выберите «Далее», а затем «Первичный».
Так же как и для раздела подкачки выберите строку «Использовать как:» вверху и измените ее на «физический том для RAID ». Также поставьте отметку на строке «Загрузочный флаг:». После этого выберите «Настройка раздела закончена».
Повторите шаги с третьего по восьмой для всех остальных дисков и разделов.
Настройка RAID
С разметкой разделов массив готов к настройке:
Вернитесь на основную страницу «Разметка дисков», выберите «Настройка программного RAID » сверху.
Выберите «да» для записи изменений на диск.
Выберите «Создать MD устройство».
Для этого примера выберите «RAID1», но если вы используете другую конфигурацию выберите соответствующий тип (RAID0 RAID1 RAID5).
Для использования RAID5 нужно по крайней мере три диска. Использование RAID0 или RAID1 потребует лишь двух дисков.
Введите количество активных устройств равное «2», или же количество жестких дисков которые у вас выделены под массив. После этого нажмите «Далее».
Далее, введите число резервных устройств «0» по умолчанию, после чего нажмите «Далее».
Выберите используемые разделы. Как правило это будут sda1, sdb1, sdc1, и т.д. Цифры обычно совпадают, а разные буквы соответствуют разным жестким дискам.
Для раздела подкачки выберите sda1 и sdb1. Нажмите «Далее» для перехода к следующему шагу.
Повторите шаги с третьего по седьмой для раздела /, выбрав sda2 и sdb2.
По окончании выберите «Завершить».
Форматирование
Выберите «Использовать как:». Далее выберите «раздел подкачки», затем «Настройка раздела выполнена».
Выберите «Использовать как:». Далее выберите «Журналируемая файловая система Ext4».
Затем выберите «Точка подключения:» и выберите «/ – корневая файловая система». Измените все необходимые опции и выберите «Настройка раздела выполнена».
Ну и наконец, выберите «Завершить разметку и записать изменения на диск».
Далее процесс установки продолжится как обычно.
Поврежденный RAID
В определенный момент работы компьютера вы можете столкнуться с отказом диска. Когда это случится, при использовании программного RAID , операционная система переведет массив в режим пониженной работоспособности (degraded state).
Если массив поврежден, в связи с возможностью потери данных, по-умолчанию Ubuntu Server Edition запустит начальный загрузчик через 30 секунд. Как только загрузчик стартует, появится предупреждение на 50 секунд с выбором либо продолжить и загрузить систему, либо сделать попытку восстановления вручную. Запуск загрузчика с предупреждением может быть как желательным, так и нет, особенно если это удаленный компьютер. Загрузка с поврежденным массивом может быть настроена по-разному:
Утилита dpkg-reconfigure может быть использована для настройки желательного варианта по-умолчанию и в процессе у вас будет возможность задать дополнительные настройки, связанные с массивом. Таких, как слежение, почтовые предупреждения и пр. Для перенастройки mdadm введите следующее:
Команда sudo dpkg-reconfigure mdadm изменит конфигурационный файл /etc/initramfs-tools/conf.d/mdadm. У этого файла есть возможность предварительной настройки желаемого поведения системы и он может быть отредактирован вручную:
Использование параметра ядра также позволит загрузиться системе с поврежденным массивом:
Как только система загружена вы можете как восстановить массив (см. Обслуживание RAID), так и скопировать важные данные на другую машину в случае сильных повреждений устройства.
Обслуживание RAID
Утилита mdadm может быть использована для просмотра статуса массива, добавления дисков в массив, удаления дисков и пр.:
Для просмотра статуса массива введите в терминале:
Опция -D говорит mdadm выводить детальную информацию об устройстве /dev/md0. Замените /dev/md0 на соответствующее RAID устройство.
Для просмотра статуса диска в массиве:
Вывод очень похож на команду mdadm -D относительно /dev/sda1 для каждого диска.
Если диск вышел из строя и должен быть удален:
Замените /dev/md0 и /dev/sda1 на необходимые RAID устройство и диск.
Подобным образом добавить диск:
Иногда диск может перейти в неработоспособное состояние даже когда нет никаких повреждений устройства. Обычно достаточно удалить устройство из массива и затем повторно его добавить. В этом случае диск повторно синхронизируется с массивом. Если диск не синхронизируется с массивом, это означает действительное повреждение устройства.
Файл /proc/mdstat также содержит полезную информацию по RAID устройствам в системе:
Следующая команда лучше всего подходит для просмотра статуса синхронизации устройства:
Нажмите Ctrl-c для окончания просмотра.
Если вам действительно потребовалось заменить поврежденный диск, после его замены и синхронизации будет необходимо установить grub. Для установки grub на новое устройство введите следующее:
Замените /dev/md0 на имя соответствующего устройства.
Ссылки
search
Служит для поиска раздела по UUID, метке или заданному файлу. Имеет следующие ключи:
Менеджер логических томов (LVM)
Менеджер логических томов, или LVM, позволяет администраторам создавать логические тома на одном и нескольких жестких дисках. LVM тома могут быть созданы как на разделах программного RAID , так и на стандартных разделах единичного диска. Тома также могут расширяться, предоставляя большую гибкость системам по изменению предоставляемых ресурсов.
Обзор
Побочным эффектом от мощи и гибкости LVM является большая степень сложности. Перед тем, как погружаться в установочный процесс LVM, было бы неплохо ознакомиться с некоторыми терминами.
Физический том (Physical Volume - PV): физический жесткий диск, раздел диска или раздел программного RAID , отформатированный как LVM PV.
Группа томов (Volume Group - VG): строится из одного или нескольких физических томов. VG могут быть расширены добавлением PV. VG похожи на виртуальные дисковые устройства, которые можно разделять на логические тома.
Логический том (Logical Volume - LV): аналогичен разделу на диске без использования LVM. LV отформатированный в желаемую файловую систему (EXT3, XFS, JFS и др.) доступен для монтирования и хранения данных.
Установка
Пример в данной секции показывает установку Ubuntu Server Edition с монтированием /srv на том LVM. В процессе начальной установки только один физический том (PV) может стать частью группы томов (VG). Другой PV будет добавлен после установки для демонстрации как VG может быть расширен.
Существует несколько вариантов установки LVM, «Управляемый - использовать весь диск и настроить LVM» который также позволит вам выделить часть доступного пространства под LVM, «Управляемый - использовать целиком и настроить шифрованный LVM» или установить и настроить LVM вручную. На данный момент единственный вариант настроить систему с использованием как LVM, так и стандартных разделов в процессе установки - это использование ручной настройки.
Пройдите по шагам установки пока не дойдете до шага разбивки дисков на разделы, затем:
На экране «Дисковые разделы» выберите «Вручную».
Выделите жесткий диск и на следующем экране подтвердите «да» на «Создать новую таблицу разделов устройства».
Далее создайте стандартные разделы для /boot, swap, и «/» с той файловой системой, которую вы предпочитаете.
Для размещения /srv на LVM, создайте новый логический раздел. Затем замените «Использовать как» на «физический том LVM» после чего нажмите «Настройка разделов завершена».
Теперь выделите «Настроить менеджер логических томов» вверху и выберите «Да» для сохранения изменений на диск.
В качестве «Действия по настройке LVM» на следующем экране выберите «Создать группу томов». Введите имя для VG типа vg01 или что-то более наглядное. После ввода имени выберите раздел, выделенный под LVM, и нажмите «Далее».
Вернитесь на экран «Действие по настройке LVM», выберите «Создать логический том». Выделите недавно созданную группу томов и введите имя для LV, например, srv, раз уж она предназначена для этой точки монтирования. Затем выберите размер, который может быть на весь раздел, поскольку его всегда можно будет расширить позднее. Нажмите «Завершить» и вы вернетесь обратно на основную страницу «Дисковые разделы».
Теперь добавьте файловую систему для нового LVM. Выделите раздел под названием «LVM VG vg01, LV srv» или тем именем, которое вы выбрали и нажмите «Использовать как». Настройте файловую систему как обычно, выбрав /srv в качестве точки монтирования. По окончании нажмите «Выполнить настройку разделов».
Наконец нажмите «Завершить разбиение и сохранить изменения на диск». Затем подтвердите изменения и продолжите обычную установку.
Есть несколько полезных утилит для просмотра информации по LVM:
pvdisplay: показывает информацию по физическим томам.
vgdisplay: показывает информацию по группам томов.
lvdisplay: показывает информацию по логическим томам.
Расширение групп томов
Продолжая с srv как примером тома LVM, в данной секции рассматривается добавление второго жесткого диска, создание физического тома (PV), добавление его в группу томов (VG), расширение логического тома srv и в конце расширение файловой системы. Этот пример подразумевает, что в систему был добавлен второй жесткий диск. В данном примере этот жесткий диск получит имя /dev/sdb и мы будем использовать весь диск под физический том (вы можете выбрать создание разделов и использовать их как другие физические тома).
Убедитесь, что у вас нет уже /dev/sdb перед тем, как выполнять приведенные ниже команды. Вы можете потерять некоторые данные если выполните эти команды на использующемся диске.
Сначала создадим физический том, выполнив в терминале:
Теперь расширим группу томов (VG):
Используйте vgdisplay для поиска свободных физических экстентов (PE) - Free PE / size (размер, который вы можете занять). Предположим, что свободно 511 PE (эквивалентно 2ГБ при размере PE в 4МБ) и мы используем все доступное свободное место. Используйте ваши собственные PE и/или свободное место.
Логический том (LV) теперь может быть увеличен различными методами, мы будем рассматривать только как использовать PE для расширения LV:
Опция -l позволяет расширять LV используя PE. Опция -L позволит задавать увеличение LV в МБ, ГБ, ТБ и т.п.
Даже если вы считаете, что можете увеличить ext3 или ext4 файловую систему без предварительного отключения, будет хорошей практикой в любом случае отмонтировать ее и проверить на целостность, что позволит избежать суматошного дня по уменьшению логического тома (в этом случае ее придется отключить обязательно).
Следующая команда только для файловой системы ext3 или ext4. Если вы используете другую файловую систему, возможно придется использовать другие утилиты.
Опция -f для e2fsck заставляет принудительно сделать проверку на целостность системы.
GRUB (GRand Unified Bootloader 1) ) — программа-загрузчик операционных систем.
GRUB является эталонной реализацией загрузчика, соответствующего спецификации Multiboot и может загрузить любую совместимую с ней операционную систему. Среди них: Linux, FreeBSD, Solaris и многие другие. Кроме того, GRUB умеет по цепочке передавать управление другому загрузчику, что позволяет ему загружать Windows (через загрузчик NTLDR), MS -DOS, OS /2 и другие системы.
После настройки GRUB пользователь при включении компьютера видит список операционных систем, которые установлены на его компьютер и которые можно загрузить, выбрав подходящую и нажав Enter .
GRUB позволяет пользователю при загрузке задавать произвольные параметры и передавать их в ядро Multiboot-совместимой ОС для дальнейшей обработки.
GRUB — самый популярный загрузчик в мире Linux и является загрузчиком по умолчанию в большинстве известных дистрибутивов.
Здесь и далее в иных статьях под названием программы GRUB подразумевается GRUB 2, который используется в операционных системах семейства Ubuntu начиная с версии 9.10, до него использовался GRUB первой версии, сейчас известный как GRUB Legacy. GRUB 2 полностью переписан с нуля и не имеет ничего общего с GRUB Legacy, разработка которого была остановлена в пользу более совершенного и мощного GRUB.
Post-Installation
-
GRUB 2 will be the default bootloader for the computer.
- Windows boot files in the Windows partition are not affected by the GRUB 2 installation. Only the MBR data is changed. Windows control of the boot process can be obtained by selecting a Windows entry in the GRUB 2 menu during boot.
- After installing another operating system which installed its own bootloader, reinstall GRUB2 to return control to the desired OS. When an operating system is added on a multiboot computer it will generally take command of the boot process. Reinstalling GRUB 2 from a within the desired OS will return control of the boot process to that OS.
- Add the boot information to an additional drive. GRUB 2 can be installed on multiple drives - all pointing to the same operating system. This provides a backup in case the MBR or boot record data on a particular drive becomes corrupted.
- Replace missing files
- Repair a broken system, such as when the user sees only "GRUB" on a black screen with no prompt or when the user cannot boot using GRUB 2's rescue mode options.
- Upgrade from Grub Legacy
- Boot to the LiveCD Desktop.
- Mount the partition with your Ubuntu installation.
The device/drive is designated by sdX, with X being the device designation. sda is the first device, sdb is the second, etc. For most users the MBR should be installed to sda, the first drive on their system. Example:
If the user gets a "error: Cannot open /boot/grub/device.map" message, add the -m switch and path to the device.map to the command as follows: Example:
If the user wishes to explore why the system failed, refer to Post-Restoration Commands section below.
Первые шаги
При первом сравнении GRUB со старым GRUB Legacy самым весомым различием оказывается измененная структура файлов конфигурации.
И об этом нас предупреждают не просто так. Ведь «grub.cfg» генерируется автоматически с использованием нескольких скриптов. Поэтому после следующего обновления GRUB ваш «grub.cfg» будет создан заново, и все ваши правки будут утрачены.
Кроме файла «grub.cfg», отвечающего за загрузочное меню, имеются файл «/etc/default/grub» и папка «/etc/grub.d«. Рассмотрим их подробнее.
6. Установка загрузчика
Далее нужно установить загрузчик Grub в новом Linux. Сначала примонтируйте в него папки /sys, /proc и /dev:
sudo mount --bind /sys /mnt/sys
sudo mount --bind /proc /mnt/proc
sudo mount --bind /dev /mnt/devЗатем войдите в chroot окружение:
sudo chroot /mnt
Затем установите загрузчик на тот диск, на который вы переносили Linux, в моём случае это /dev/sdb:
sudo grub-install /dev/sdb
И осталось только создать конфигурационный файл для загрузчика:
В дистрибутивах, не основанных на Ubuntu, вместо update-grub2 можно использовать команду:
sudo grub2-mkconfig -o /boot/grub/grub.cfg
via the LiveCD terminal
This method uses the terminal from a LiveCD. The user must know the device name/partition of the installed system (sda1, sdb5, etc), which is then mounted from the LiveCD. GRUB 2 files are copied from the LiveCD libraries to the proper locations and MBR.
This operation will write to the MBR and restore the modules and core.img to /boot/grub. It will not replace or restore grub.cfg or fix corrupted files. Boot the LiveCD, select "Try It", and open a terminal.
When using a LiveCD, due to GRUB 2 changes between Ubuntu releases, it is recommended that the user boots a LiveCD of the same release (11.10, 12.04, etc) as the release to be repaired. If the user has installed a different version of GRUB 2, use a LiveCD with the same GRUB 2 version.
If necessary, use the fdisk command to help determine the partition on which Ubuntu is installed. The fdisk option "-l" is a lowercase "L". Look for one of the appropriate size or formatting. Running sudo blkid may provide more information to help locate the proper partition, especially if the partitions are labeled. The '
grub-install will restore missing files in the grub folder but will not restore intentionally deleted or corrupted files. To accomplish these tasks GRUB 2 must be completely removed and reinstalled.
If Ubuntu is installed on B-tree file system i.e. btrfs then /boot changes to /@/boot in above commands such that :
If the user wishes to explore why the system failed, refer to Post-Restoration Commands section below.
3. Перенос Linux утилитой tar
Это альтернативный вариант переноса, если вы не хотите использовать cp, то можете применить tar. Чтобы сразу перенести файлы в другое расположение, нужно создать туннель, на одном конце которого данные будут запаковываться, а на другом - распаковываться:
sudo tar -cpv --one-file-system / | sudo tar -x -C /mnt
Опция -p - заставляет утилиту сохранять метаданные файлов при переносе. Опция --one-file-system указывает, что утилита будет брать файлы только из корневой файловой системы, поэтому все примонтированые файловые системы, как и в предыдущем варианте, будут пропущены. Поэтому каталоги /boot и /home вам придётся копировать аналогичной командой. Или же можно не использовать эту опцию и передавать всё, кроме ненужного:
sudo tar -cpv --exclude /mnt --exclude /dev --exclude /sys --exclude /proc --exclude /tmp --exclude /run / | sudo tar -x -C /mnt/
Также вы можете создать архив, а потом его куда-нибудь скопировать, чтобы иметь резервную копию системы:
sudo tar -cvpzf system.tar.gz --exclude system.tar.gz --one-file-system /
Вместо опции --one-file-system можно использовать опции --exclude, чтобы исключить ненужные каталоги, как в предыдущей команде. А для распаковки используйте команду:
sudo tar xvzf system.tar.gz -C /mnt
Здесь, /mnt - это каталог, в который нужно извлечь файлы архива.
Нюанс с нумерацией дисков и разделов
В GRUB имеется еще одно важное отличие от старого GRUB Legacy, а именно изменилась нумерация разделов диска. Нумерация дисков идет с нуля, а нумерация разделов - с единицы!
Если в GRUB Legacy первый раздел первого диска (sda1) именовался «hd0,0». То в GRUB, первый раздел первого диска (sda1) теперь будет «hd0,1».
via GRUB2 Rescue mode
GRUB 2 provides a rescue mode which allows the user to attempt to repair GRUB 2 from a special GRUB terminal during boot. Refer to the Grub2 Command_Line_and_Rescue_Mode section for information on GRUB terminal operations.
Installation Options (LiveCD)
Изменение стандартных параметров загрузки ядра
Иногда бывает необходимо загружать ядро системы с какими-либо особыми параметрами (например, для корректной работы специфического оборудования). В этом случае весьма полезен будет параметр «GRUB_CMDLINE_LINUX_DEFAULT» он отвечает за те параметры, с которыми запускаются ядра при загрузке. Его значение по умолчанию - «quiet splash»: происходит показ графической заставки при запуске системы без отображения какой-либо текстовой информации.
Вы можете добавить необходимые вам параметра запуска ядра, приведя это значение к виду «quiet splash your_param1 your_param2», то есть дописав через пробел нужные параметры.
Пример
Чтобы заменить графическую заставку во время загрузки на информацию о загрузке компонентов системы (это позволит проследить за процессом загрузки и выявить неполадки). Необходимо заменить строчку:
Изменение стандартного пункта загрузки
По умолчанию стандартный пункт (выделенный при показе меню) - верхний в списке. После установки Ubuntu она окажется наверху, а Windows, например, будет последним пунктом.
Значением «GRUB_DEFAULT» является номер пункта меню, который должен быть выбран стандартным. Чтобы выбрать другой пункт, нам нужно узнать, каким по счету он будет в списке. Есть два варианта:
Нумерация пунктов меню начинается с нуля. Значение по умолчанию - 0, поэтому и выбирается первый пункт.
Пятому сверху пункту будет соответствовать значение 4, второму - 1, первому - 0. В вышеприведенном примере установлено значение 6, то есть стандартным задан седьмой пункт меню.
Команда sudo grub-reboot 1 однократно выбирает второй пункт меню по-умолчанию (только для следующей загрузки),
Или же можно указать значение идентификатора (id), оно должно быть именно таким, каким мы его видим в «/boot/grub/grub.cfg«. Данный способ удобен тем, что после обновления ядра не придется изменять настройки из-за сбившейся нумерации.
Пример
Если в «grub.cfg» пункт меню выглядит так:
То значение параметра «GRUB_DEFAULT» должно указываться именно в виде:
Ранее документацией предлагалось указывать название пункта меню загрузки (так, как он отображается в самом меню). Хотя этот способ по-прежнему работает, использовать его не рекомендуется, поскольку эти названия могут меняться, например, при обновлении ядра/версии ОС
Команды консоли GRUB
Чтобы попасть в консоль, нужно нажать клавишу C во время отображения меню загрузки.
Довольно универсальная команда при использовании в чистом виде выдает список жестких дисков и разделов. Также она может быть использована как одноименная команда в Linux - для вывода содержимого папки. например:
Еще одно полезное свойство комадны «ls» - она позволят получить информацию о любом разделе:
Команда сообщит нам тип файловой системы на разделе, метку раздела (если таковая имеется), UUID и дату последнего изменения данных на разделе (в формате UTC).
Данная команда выводит содержимое заданного файла, используется в формате:
via ChRoot
- Boot to the LiveCD Desktop. The CD should be 64bit (not 32bit) if the system to fix is 64 bit.
- Open a terminal. The method varies depending on the release.
- Substitute the correct partition: sda1, sdb5, etc.
Reinstall GRUB 2 (substitute the correct device with sda, sdb, etc. Do not specify a partition number):
Убираем подменю
Чтобы раскрыть все меню используем такой параметр:
Это бывает нужно если хотим загружаться не с первой строчки.
Выводы
В этой статье мы разобрали, как перенести Linux на другой жёсткий диск с помощью утилит tar, cp или rsync. Как видите, это достаточно просто и быстро. Ещё мы могли бы использовать утилиту dd, однако она копирует весь диск побайтово, поэтому будет работать дольше и её архивы будут занимать больше места на диске. Ещё можно воспользоваться инструментом Clonezilla.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.Читайте также:
-
GRUB 2 will have written information to the designated drive's boot area pointing to the Ubuntu installation's GRUB 2 files. On earlier versions of GRUB 2 on a BIOS systems any information previously contained in the area just beyond MBR will have been overwritten. An improvement to GRUB 2 allows it to write the boot information to another area if a non-Linux application has already used this area.
To view the GRUB 2 file system and configuration options please refer to Grub 2 community documentation page.
When using the grub-install command, the boot information is updated and written to the designated drive, missing - but not corrupted or intentionally deleted - files are restored. Specifically the core.img, grubenv, and device.map are updated and missing modules restored. If missing, the grub folder will be recreated. The grub-install command does not generate a new GRUB 2 menu (grub.cfg).
via Partition Files Copy
This method does not work if GRUB has not already been installed, or if GRUB files have been deleted.
This method talks about 9.10, so it may be obsolete.