Я думаю, вы правы, пытаясь сохранить загрузку CentOS, если хотите переместиться туда, но вы, конечно, можете попробовать проверить, распознается ли CentOS Ubuntu ( grub-mkconfig
в Ubuntu), и если это произойдет (он должен) запустить grub-update
в Ubuntu, а затем grub-install / dev / sda
.
Вся проблема возникает из-за того, что дистрибутивы вносят изменения в /etc/grub.d/10-linux
для своих старых версий (копирование с учетом того, как они используют подтомы Btrfs, LVM и другие специфические особенности дистрибутива). Если вы сравните этот файл из Ubuntu с CentOS, вы увидите огромные различия.
В таких ситуациях я скопировал /etc/grub.d/10-linux
из старой системы в /etc/grub.d/11-
в новой системе , а затем запустите grub-mkconfig
/ update-grub
в новой системе. Это может дать вам несколько двойных пунктов меню, но это, ИМХО, лучше, чем их слишком мало.
Клонирование хорошо подходит для создания живого диска Parrot Security 4.4 64 -бит. Я считаю хорошей идеей запускать Parrot в реальном времени или в постоянном режиме с внешнего диска (USB-накопитель, SD-карта... ). Диск должен быть достаточно большим (не менее 4 ГБ ).
Установить Parrot на SD-карту (не менее 16 ГБ )сложно, но возможно.
Графический установщик, доступный через live-систему, тоже не работает, как описано в вопросе.
Все будет чище и проще, если вы [можете] отключить свои внутренние диски и использовать только те диски, которые задействованы в этой задаче.
Откройте окно терминала и выполните несколько команд, чтобы подготовить SD-карту.
sudo lsblk -fm
sudo dd if=/dev/zero of=/dev/sdX bs=1M count=1
sudo -H gparted /dev/sdX
Команда lsblk
поможет вам идентифицировать целевой диск, SD-карту
dd
сотрет первый мибибайт, что сделает программу установки более склонной к установке grub.очень важнодля записи на SD-карту, что означает, что вы должны выбрать правильную букву диска (, например a
или b
, заменивX
)для SD-карты. В противном случае вы можете уничтожить важные данные на другом диске. Все будет безопаснее, если вы отключите все остальные диски (, кроме живого диска и SD-карты ). gparted
вы можете «просмотреть» информацию о диске. Раздела быть не должно,даже не таблица разделов. Предположим, что компьютер нормально загружается при перезагрузке с теми же подключенными дисками, что и при создании системы Parrot на SD-карте (, например, внутренний диск не подключен ).
Могут по-прежнему возникать проблемы при изменении подключенных дисков (, например при подключении внутреннего диска ). Те же проблемы могут возникнуть при подключении SD-карты к другому компьютеру с одним или несколькими подключенными внутренними дисками.
Эти проблемы можно решить, изменив строку linux
в пунктах меню для Parrot в используемом файле grub.cfg
.
Загрузитесь с другого диска, например с живого диска.
sudo lsblk -f # identify the drive and check the UUID
sudo mount /dev/sdX /mnt # mount the drive that contains grub.cfg
sudo nano /mnt/boot/grub/grub.cfg # edit grub.cfg
Найдите абзацы menuentry
для Parrot и каждую строку, начинающуюся с linux
. Замените root=/dev/sda1
или аналогичный на спецификацию устройства на
root=UUID=042cf088-b051-4961-b206-2c223a31dee2
, где строка 042cf088-b051-4961-b206-2c223a31dee2
должна быть заменена фактической строкой UUID (, которая, вероятно, присутствует в menuentry
и определяется командной строкой lsblk
.
Я редактировал это на своем ноутбуке Toshiba с SD-картой, подключенной через USB-адаптер как /dev/sda
и без подключенного внутреннего диска. Я тестировал его в той же Toshiba с внутренним диском и в моем Intel NUC с двумя другими подключенными дисками. На следующем снимке экрана Intel NUC показано, что SD-карта подключена через встроенный слот -как /dev/mmcblk0
, а также подключены два других диска. Обратите внимание на root=UUID=...
в grub.cfg
Некоторые команды в окне терминала моей установленной тестовой системы Parrot,
┌─[tester@parrot]─[~]
└──╼ $lsb_release -a
No LSB modules are available.
Distributor ID: Parrot
Description: Parrot 4.4
Release: 4.4
Codename: stable
┌─[tester@parrot]─[~]
└──╼ $sudo lsblk -fm
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for tester:
NAME FSTYPE LABEL UUID MOUNTPOINT SIZE OWNER GROUP MODE
sda 29.7G root disk brw-rw----
├─sda1 btrfs 79ad87de-08a8-4623-9afc-7c8b25daa228 / 25.9G root disk brw-rw----
├─sda2 1K root disk brw-rw----
└─sda5 swap dcf02e42-29de-4baa-adc9-febf55e611f8 [SWAP] 3.9G root disk brw-rw----
sr0 1024M root cdrom brw-rw----
┌─[tester@parrot]─[~]
└──╼ $df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 384M 6.1M 378M 2% /run
/dev/sda1 26G 12G 14G 47% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
tmpfs 384M 24K 384M 1% /run/user/1000
┌─[tester@parrot]─[~]
└──╼ $free -m
total used free shared buff/cache available
Mem: 3831 502 2611 56 718 3048
Swap: 3977 0 3977
┌─[tester@parrot]─[~]
└──╼ $uname -a
Linux parrot 4.18.0-parrot10-amd64 #1 SMP Debian 4.18.10-2parrot10 (2018-11-17) x86_64 GNU/Linux
┌─[tester@parrot]─[~]
└──╼ $