Как установить ISO в реальном времени на SD-карту, чтобы она могла загружаться куда угодно?

Я думаю, вы правы, пытаясь сохранить загрузку 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 в новой системе. Это может дать вам несколько двойных пунктов меню, но это, ИМХО, лучше, чем их слишком мало.

0
11.12.2018, 11:47
1 ответ

Введение

  • Клонирование хорошо подходит для создания живого диска Parrot Security 4.4 64 -бит. Я считаю хорошей идеей запускать Parrot в реальном времени или в постоянном режиме с внешнего диска (USB-накопитель, SD-карта... ). Диск должен быть достаточно большим (не менее 4 ГБ ).

  • Установить Parrot на SD-карту (не менее 16 ГБ )сложно, но возможно.

  • Графический установщик, доступный через live-систему, тоже не работает, как описано в вопросе.

  • Все будет чище и проще, если вы [можете] отключить свои внутренние диски и использовать только те диски, которые задействованы в этой задаче.

Как установить на внешний диск (в данном случае SD-карту)

  • Загрузитесь с живого диска Parrot
  • В режиме BIOS открывается меню syslinux. Выберите «Живой» в верхней части меню, чтобы получить графическую среду рабочего стола
  • .
  • Вставьте SD-карту(Я сделал это через USB-адаптер ).
  • Откройте окно терминала и выполните несколько команд, чтобы подготовить 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вы можете «просмотреть» информацию о диске. Раздела быть не должно,даже не таблица разделов.
    • создать новую таблицу разделов MSDOS (через «Устройство»)
  • Выключение
  • Извлеките SD-карту

  • Повторная загрузка с живого диска Parrot
  • В режиме BIOS открывается меню syslinux. Выберите «Установить» в нижней части меню. Это приведет вас к установщику в текстовом режиме, старому «установщику Debian».
  • Вставьте SD-карту(Я делал это через USB-адаптер ).
  • В следующем небольшом меню выберите «Стандартный установщик».
  • Выберите язык... (Не буду здесь описывать все шаги ).
  • Выберите «Управляемое -использование всего диска»
  • Выберите устройство, указывающее на SD-карту...
  • Установите загрузчик GRUB, ответьте «Да»
  • Выберите устройство, указывающее на SD-карту
  • Завершите установку
  • Извлеките привод Parrot live
  • Дайте компьютеру перезагрузиться

Запустить установленный Parrot с SD-карты

  • Перезагрузитесь, и вы сможете загрузить установленный Parrot:-)

Исправление для улучшения переносимости

Предположим, что компьютер нормально загружается при перезагрузке с теми же подключенными дисками, что и при создании системы 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

.

enter image description here

Комментарии

  • На большинстве компьютеров вы можете загружать SD-карты через USB. Некоторые USB-адаптеры работают с некоторыми компьютерами, но нет гарантии, что некоторые компьютеры и адаптеры не взаимодействуют в процессе загрузки.
  • На некоторых компьютерах можно загружать SD-карты через PCI (, что типично для встроенных слотов SD в ноутбуках ). Это не очень распространено, поэтому не стоит ожидать, что это сработает для вас.
  • Обратите внимание, что срок службы SD-карты с установленной системой может быть довольно коротким из-за износа из-за многократной записи в одни и те же ячейки памяти. Клонированные живые диски доступны только для чтения -и никак не затрагиваются. Постоянные живые диски живут дольше, потому что операций записи меньше.

Некоторые команды

Некоторые команды в окне терминала моей установленной тестовой системы 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]─[~]
└──╼ $
2
28.01.2020, 02:31

Теги

Похожие вопросы