Intereting Posts
Извлечение накопителя USB 3.0, подключенного к порту USB 3.0, немедленно восстанавливается Как я могу получить список всех репозиториев и PPA из командной строки в сценарий установки? Как скомпилировать и установить собственное ядро ​​mainline Есть ли программное обеспечение, которое может распознавать, какие музыкальные ноты я играю в своем микрофоне, – чтобы помочь мне заниматься музыкой? Как подключиться (FTP) к удаленному серверу через Ubuntu VPS Как установить xdotool и gedit для открытия документа и сохранения его дважды? Как слушать звуковые файлы? Каков размер репозитория Ubuntu? Как избежать обновления пакетов (ов) при обновлении? Установите постоянные параметры командной строки для выскочки Не удалось заблокировать каталог администрирования (/ var / lib / dpkg /) – это другой процесс с его использованием? Требуется драйвер принтера Lexmark X7675 Как изменить цвет / прозрачность всех панелей рабочего стола? Мышь и клавиатура не будут работать Windows 7 Dual Boot Steam: «не удалось загрузить libsteam.so» – ubuntu 12.04

Повторно инициализировать GRUB для установки без загрузки UEFI zfs 16.04

У меня есть физическая машина с Ubuntu 16.04 с корневой файловой системой zfs, установленная по инструкциям на странице https://github.com/zfsonlinux/zfs/wiki/Ubuntu-16.04-Root-on-ZFS

Я установил загрузчик в соответствии с инструкциями:

5.5b Для загрузки UEFI установите GRUB:

grub-install --target=x86_64-efi --efi-directory=/boot/efi \ --bootloader-id=ubuntu --recheck --no-floppy 

Система работает нормально в течение трех месяцев с несколькими перезагрузками (в основном из-за отключения питания).

Корневой пул – трехстороннее зеркало:

 NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ata-SAMSUNG_HM500JI_S1WFJ90S818624-part1 ONLINE 0 0 0 ata-ST3250820AS_5QE5BVW5-part1 ONLINE 0 0 0 ata-GB0250C8045_9SF0R2RD-part1 ONLINE 0 0 0 

Первоначально у меня также был горячий запас, включенный в бассейн. Сегодня утром мне понадобилась горячая резервная копия для использования на другом сервере с неисправным устройством, поэтому я использовал zpool remove для удаления горячего резерва из системы, отключил питание и физически удалил запасной.

Теперь сервер не загружается.

Я попытался выбрать все три оставшихся физических диска для загрузки, но без радости.

В настоящее время я перезагрузился, используя живой компакт-диск. Следуя инструкциям, приведенным выше, я вижу все пулы zfs, поэтому все данные там. Я думаю, что следующим шагом может быть chroot в этот zpool, но я не уверен, как это сделать, учитывая разные файловые системы ROOT и т. Д.

Я предполагаю, что загрузочная информация GRUB по какой-то причине была установлена ​​только на диск, который был обозначен как «запасной» и который я сейчас удалил. Этот диск теперь является частью зеркала zfs на другом сервере, поэтому его невозможно вернуть.

Мой вопрос: какой самый простой способ повторной инициализации GRUB, чтобы сервер загрузился? Нужно ли мне зацикливаться на дисковой системе или это можно сделать из среды live-CD? Если первое, как правильно установить корневой пул?

В основном, с помощью инструкций по установке ZFS на странице https://github.com/zfsonlinux/zfs/wiki/Ubuntu-16.04-Root-on-ZFS , вот шаги, которые я использовал, чтобы снова запустить мою систему.

boot-ремонт не работает.

Шаг 1: Подготовьте среду установки

1.1 Загрузите компакт-диск Ubuntu Live, выберите «Попробовать Ubuntu без установки» и откройте терминал (нажмите Ctrl-Alt-T).

1.2 Дополнительно: установите сервер OpenSSH в среду Live CD: если у вас есть вторая система, использование SSH для доступа к целевой системе может быть удобно.

 $ sudo apt-get --yes install openssh-server 

Установите пароль в учетной записи пользователя «ubuntu» (Live CD):

 $ passwd 

Подсказка. Вы можете найти свой IP-адрес с помощью ip addr show scope global. Затем, с вашей основной машины, подключитесь к ssh ubuntu @ IP.

1.3 Стать root:

 # sudo -i 

1.4 Установите ZFS в среду Live CD:

 # apt-add-repository universe # apt update 

(игнорировать ошибки, связанные с перемещением старой базы данных)

 # apt install --yes debootstrap gdisk zfs-initramfs 

Шаг 2. Откройте доступные пулы ZFS.

2.1 проверить, были ли уже импортированы пулы ZFS

 # zpool list # zfs list 

2.2, если это так, нам нужно экспортировать пул zfs, чтобы мы могли установить его в другой каталог, чтобы мы могли его chroot

 # zpool export rpool 

Шаг 3: Chroot в пул ZFS

3.1 импортировать пул в не-местоположение по умолчанию. Флаг -N (автоматически не монтируется) необходим, поскольку в противном случае root-пул rpool и пул rpool / root / UBUNTU будут пытаться монтировать на / mnt

 # zpool import -a -N -R /mnt 

3.2 установить корневую систему

 # zfs mount rpool/ROOT/ubuntu 

3.3 монтировать остальные файловые системы

 # zfs mount -a 

3.4 Привяжите виртуальные файловые системы из среды LiveCD к новой системе и chroot в нее:

 # mount --rbind /dev /mnt/dev # mount --rbind /proc /mnt/proc # mount --rbind /sys /mnt/sys # chroot /mnt /bin/bash --login 

Примечание. Используется –rbind, а не -bind.

Шаг 4: Повторная инициализация разделов EFI для всех компонентов корневого пула

4.1. Проверка подстановки содержит правильные корневые разделы:

 # for i in /dev/disk/by-id/*ata*part3; do echo $i; done 

4.2. Добавьте запись для / boot / efi для каждого диска в / etc / fstab для целей восстановления после сбоев в будущем:

 # for i in /dev/disk/by-id/*ata*part3; \ do mkdosfs -F 32 -n EFI ${i}; \ echo PARTUUID=$(blkid -s PARTUUID -o value \ ${i}) /boot/efi vfat defaults 0 1 >> /etc/fstab; done 

4.3 установить первый диск

 # mount /dev/disk/by-id/scsi-SATA_disk1-part3 /boot/efi 

4.4 установить grub

 # grub-install --target=x86_64-efi --efi-directory=/boot/efi \ --bootloader-id=ubuntu --recheck —no-floppy 

4.5 размонтировать первый раздел

 # umount /boot/efi 

4.6 установить второй диск

 # mount /dev/disk/by-id/scsi-SATA_disk2-part3 /boot/efi 

4.7 установить grub

 # grub-install --target=x86_64-efi --efi-directory=/boot/efi \ --bootloader-id=ubuntu --recheck —no-floppy 

4.8 повторите шаги с 4.5 до 4.7 для каждого дополнительного диска. 4.9. Для дополнительного страхования выполните установку MBR на каждый диск.

 # grub-install /dev/disk/by-id/scsi-SATA_disk1 # grub-install /dev/disk/by-id/scsi-SATA_disk2 

Шаг 5: Перезагрузка

5.1. Выход из chroot

 # exit 

5.2 Перезагрузка

 # reboot 

Самый простой и лучший способ повторной инициализации grub – утилита, называемая boot repair. Следуй этим шагам:

  1. Загрузите с живого диска Ubuntu и выберите «попробуйте без установки».
  2. Откройте терминал и запустите следующие команды:

     sudo -i add-apt-repository ppa:yannubuntu/boot-repair apt update apt install boot-repair boot-repair 
  3. Выберите рекомендуемый ремонт

  4. В конце концов вам будет предоставлен код для вставки в терминал. Это произойдет дважды. Откройте это новое окно терминала.
  5. После завершения перезагрузки программа удалит установочный диск.

Boot-repair полностью переустанавливает ваш grub и хорошо работает с UEFI.