![Клонирование экземпляра Ubuntu 22.04, использующего компактный флэш-накопитель, похоже, приводит к пустому каталогу /boot/grub](https://rvso.com/image/1072912/%D0%9A%D0%BB%D0%BE%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D1%8D%D0%BA%D0%B7%D0%B5%D0%BC%D0%BF%D0%BB%D1%8F%D1%80%D0%B0%20Ubuntu%2022.04%2C%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D1%8E%D1%89%D0%B5%D0%B3%D0%BE%20%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BA%D1%82%D0%BD%D1%8B%D0%B9%20%D1%84%D0%BB%D1%8D%D1%88-%D0%BD%D0%B0%D0%BA%D0%BE%D0%BF%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%2C%20%D0%BF%D0%BE%D1%85%D0%BE%D0%B6%D0%B5%2C%20%D0%BF%D1%80%D0%B8%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%20%D0%BA%20%D0%BF%D1%83%D1%81%D1%82%D0%BE%D0%BC%D1%83%20%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D1%83%20%2Fboot%2Fgrub.png)
У нас есть установка Ubuntu 22.04, которая запускается и работает отлично. Когда мы клонируем компактный флэш-накопитель и вставляем его в идентичную систему, он не загружается с file '/grub/i386-pc/normal.mod' not found
сообщением об ошибке. Мы использовали восстановление grub, чтобы попытаться выяснить причину, и оказалось (но мы могли неправильно использовать восстановление grub, так как мы новички в этом), что каталог /boot/grub
пуст, несмотря на то, что был сделан проверенный клон.
На рабочей системе df-h
показано следующее:
Filesystem Size Used Avail Use% Mounted on
tmpfs 377M 1.4M 376M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 5.6G 4.7G 644M 88% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda2 1.7G 247M 1.4G 16% /boot
tmpfs 16M 16K 16M 1% /opt/intellair/db
tmpfs 377M 4.0K 377M 1% /run/user/1000
При использовании grub recovery на незагружаемой системе ls
команда дает следующие результаты:
(hd0) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1)
набор дает:
cmdpath=(hd0)
prefix=(hd0,gpt2)/grub
root=hd0,gpt2
Если мы попробуем ls
любой из других дисков, мы получим Filesystem is unknown
, но gpt2 (соответствующий /dev/sda2
) работает, и если мы запустим, ls /
мы получим
config-5.15.0-52-generic
lost+found
System.map-5.15.0-52-generic
grub/
initrd.img
vmlinuz
initrd.img-5.15.0-52-generic
vmlinuz-5.15.0-52-generic
initrd.img.old
vmlinuz.old
Критически важно, что когда мы вводим команду, ls /grub
она выполняется нормально, но ничего не возвращает. Мы считаем, что это означает, что папка grub пуста. Это также подтверждается невозможностью загрузить какие-либо модули (например, linux, kernel, normal и т. д.), которые, как мы ожидали, должны быть в папке grub.
Два конкретных вопроса:
В восстановлении grub, если
/grub
каталог содержит файлы, следует лиls /grub
перечислить их?Если предположить,
/grub
что он действительно пуст, у кого-нибудь еще была такая проблема? Это почти как будто клон компактного флэш-накопителя специально исключил содержимое каталога grub?
Стоит отметить, что этот процесс отлично работал у нас на старой установке Ubuntu 18.04. Только на новой Ubuntu 22.04 процесс клонирования приводит к этой проблеме.