Застрял в кроличью нору Ubuntu проблем с установкой
Я пытаюсь установить перезаписывающую Windows Ubuntu на Lenovo ideapad 320 (151IAP). Я загружаюсь с USB-флешки, созданной с помощью автозагрузки диска и образа 18.04.
Это будет длинный пост, потому что я пробовал довольно много разных вещей, но моя гипотеза состояла в том, что у меня есть работающая установка Ubuntu, и мне просто нужно, чтобы она загрузилась правильно; Я не уверен, что это так. Вот мой последний результат восстановления загрузчика.
Обновление: я попытался загрузиться с grub, используя эти инструкции, и получил ошибки "Не удается найти / root в / etc / fstab" и "Не удалось подключить / dev к / root / dev: нет такого файла или каталога" и то же самое с run. Также я увидел, что каталог / home / dustan / пуст. Я не совсем уверен, как система каталогов должна выглядеть после правильной установки, так что поправьте меня, если я ошибаюсь: мне кажется, это доказательство против моей гипотезы, что мне нужно только восстановить grub. Я попытался сделать USB-флешку, используя mkusb вместо создателя загрузочного диска по умолчанию; это все еще висит на установке grub.
Вот полная история:
Первой проблемой, с которой я столкнулся, был установщик, зависший при "настройке оборудования". В конце концов я понял, как отключить безопасную загрузку и быструю загрузку, следуя приведенному здесь совету, и установщик больше не зависает там.
Вместо этого он зависает на Grub2, поэтому я последовал совету, приведенному здесь (после нескольких неудачных попыток), чтобы указать раздел Ubuntu (sda2) отдельно от загрузочного раздела (sda1). Он все еще зависал на Grub2 (не обошел его стороной, поэтому я не совсем уверен, к чему на самом деле был этот ответ).
И в случае настройки оборудования, и в случае зависания Grub2 я дал компьютеру буквально несколько часов для правильной установки.
Когда я смотрю на журнал в программе установки, он показывает повторяющиеся случаи "неверных данных идентификатора отчета", связанных с использованием сенсорной панели. Действительно, существует известная проблема с этой тачпадом и драйверами Ubuntu, но тачпад работает, несмотря на эти ошибки, и я думаю, что если я когда-нибудь смогу заставить Ubuntu работать, я, вероятно, смогу решить проблему с драйверами позже. И, к сожалению, эти ошибки, вероятно, скрывают какие-либо серьезные ошибки.
Поэтому после многих попыток заставить это работать должным образом, я наконец решил попытаться восстановить Grub.
Прежде чем я перечислю ошибки восстановления загрузки, я забыл упомянуть еще одну вещь, которую я пытался установить во время установки выше; Как только я понял, как изменить строку загрузки, я попробовал noacpi, nolapic, irqpoll и noapic (я несколько использовал это в качестве ссылки, но я все еще не знал, что я на самом деле делал).
Если я следую рекомендованному ремонту в boot-repair, он зависает без каких-либо отзывов.
Если я отключу SecureBoot в разделе дополнительных параметров в boot-repair, а затем запусту рекомендованное восстановление, он настроится на очистку grub, а затем появится сообщение "Пожалуйста, откройте терминал и введите следующие команды:"
sudo chroot "/mnt/boot-sav/sda2" dpkg --configure -a
sudo chroot "/mnt/boot-sav/sda2" apt-get install -fy
sudo chroot "/mnt/boot-sav/sda2" apt-get purge -y grub*-common grub-common:i386 shim-signed
Запуск первой команды дает:
ubuntu@ubuntu:~$ sudo chroot "/mnt/boot-sav/sda2" dpkg --configure -a
Setting up grub-efi-amd64-signed (1.93+2.02-2ubuntu8) ...
Installing for x86_64-efi platform.
grub-install: error: efibootmgr failed to register the boot entry: Unknown error -1.
dpkg: error processing package grub-efi-amd64-signed (--configure):
installed grub-efi-amd64-signed package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
grub-efi-amd64-signed
ubuntu@ubuntu:~$
Я не ожидал, что вторая команда сработает, но я все равно попробовал, и после этого она зависла:
ubuntu@ubuntu:~$ sudo chroot "/mnt/boot-sav/sda2" apt-get install -fy
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 43 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up grub-efi-amd64-signed (1.93+2.02-2ubuntu8) ...
Installing for x86_64-efi platform.
При использовании терминального метода здесь, инструкции для отдельного загрузочного раздела немного расплывчаты, но здесь была моя интерпретация:
ubuntu@ubuntu:~$ sudo mkdir /mnt/ubuntu
ubuntu@ubuntu:~$ sudo mkdir /mnt/ubuntu/boot
ubuntu@ubuntu:~$ sudo mount /dev/sda1 /mnt/ubuntu/boot
ubuntu@ubuntu:~$ sudo grub-install --boot-directory=/mnt/ubuntu/boot /dev/sda
Installing for i386-pc platform.
grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.
grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
grub-install: error: will not proceed with blocklists.
ubuntu@ubuntu:~$ sudo umount /mnt/ubuntu/boot
ubuntu@ubuntu:~$ sudo mount /dev/sda2 /mnt
ubuntu@ubuntu:~$ sudo mount --bind /dev /mnt/dev && sudo mount --bind /dev/pts /mnt/dev/pts && sudo mount --bind /proc /mnt/proc && sudo mount --bind /sys /mnt/sys
ubuntu@ubuntu:~$ sudo chroot /mnt
root@ubuntu:/# grub-install /dev/sda
Installing for x86_64-efi platform.
grub-install: error: cannot find EFI directory.
root@ubuntu:/# exit
exit
ubuntu@ubuntu:~$ sudo umount /mnt/sys && sudo umount /mnt/proc && sudo umount /mnt/dev/pts && sudo umount /mnt/dev && sudo umount /mnt
Попытка еще раз с sda1.
ubuntu@ubuntu:~$ sudo mount /dev/sda2 /mnt
ubuntu@ubuntu:~$ sudo mount /dev/sda1 /mnt/boot
ubuntu@ubuntu:~$ sudo mount --bind /dev /mnt/dev && sudo mount --bind /dev/pts /mnt/dev/pts && sudo mount --bind /proc /mnt/proc && sudo mount --bind /sys /mnt/sys
ubuntu@ubuntu:~$ sudo chroot /mnt
root@ubuntu:/# grub-install /dev/sda
Installing for x86_64-efi platform.
grub-install: error: cannot find EFI directory.
root@ubuntu:/# exit
exit
ubuntu@ubuntu:~$ sudo umount /mnt/sys && sudo umount /mnt/proc && sudo umount /mnt/dev/pts && sudo umount /mnt/dev && sudo umount /mnt/boot && sudo umount /mnt
ubuntu@ubuntu:~$ sudo mount /dev/sda2 /mnt
ubuntu@ubuntu:~$ sudo mount /dev/sda1 /mnt/boot
ubuntu@ubuntu:~$ sudo mkdir -p /mnt/boot/efi
ubuntu@ubuntu:~$ sudo mount /dev/sda1 /mnt/boot/efi
ubuntu@ubuntu:~$ sudo mount --bind /dev /mnt/dev
ubuntu@ubuntu:~$ sudo mount --bind /proc /mnt/proc
ubuntu@ubuntu:~$ sudo mount --bind /sys /mnt/sys
ubuntu@ubuntu:~$ sudo chroot /mnt
root@ubuntu:/# apt-get install grub-efi-amd64
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
root@ubuntu:/# sudo dpkg --configure -a
Setting up grub-efi-amd64-signed (1.93+2.02-2ubuntu8) ...
Installing for x86_64-efi platform.
grub-install: error: efibootmgr failed to register the boot entry: Unknown error -1.
dpkg: error processing package grub-efi-amd64-signed (--configure):
installed grub-efi-amd64-signed package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
grub-efi-amd64-signed
root@ubuntu:/# exit
exit
ubuntu@ubuntu:~$ sudo umount /mnt/dev
ubuntu@ubuntu:~$ sudo umount /mnt/proc
ubuntu@ubuntu:~$ sudo umount /mnt/sys
ubuntu@ubuntu:~$ sudo umount /mnt/boot/efi
ubuntu@ubuntu:~$ sudo umount /mnt/boot
ubuntu@ubuntu:~$ sudo umount /mnt
2 ответа
Решение было простым: измените настройки BIOS: сначала загрузите режим с устаревшей поддержкой, сначала загрузите приоритет с устаревшей. Затем переустановите Ubuntu и все заработало.
Я бы предложил ручную установку с помощью debootstrap.
Загрузитесь с USB-диска или аварийного компакт-диска, затем запустите:
apt update && apt install --yes debootstrap gdisk linux-headers-$(uname -r)
Узнайте идентификатор вашего жесткого диска, всегда используйте идентификатор, а не sda, sdb и т. Д.
ls /dev/disk/by-id/
Удалите старые разделы и создайте новые, используя fdisk (Search Linux Partition Scheme на Google)
Смонтируйте корневой раздел в / mnt
Установите ОС: (загрузите последнюю версию debootstrap)
wget http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.88_all.deb
dpkg -i debootstrap_1.0.88_all.deb
rm debootstrap_1.0.88_all.deb
apt install ubuntu-archive-keyring
chmod 1777 /mnt/var/tmp
debootstrap xenial /mnt
chroot в ОС:
mount --rbind /dev /mnt/dev
mount --rbind /proc /mnt/proc
mount --rbind /sys /mnt/sys
chroot /mnt /bin/bash --login
ln -s /proc/self/mounts /etc/mtab
установить текстовый редактор:
apt install nano
отредактируйте /etc/apt/sources.list и добавьте:
deb http://archive.ubuntu.com/ubuntu xenial главная вселенная deb-src http://archive.ubuntu.com/ubuntu xenial основная вселенная
deb http://security.ubuntu.com/ubuntu основной юниверс xenial-security deb-src http://security.ubuntu.com/ubuntu основной юниверс xenial-security
deb http://archive.ubuntu.com/ubuntu xenial-updates основной юниверс deb-src http://archive.ubuntu.com/ubuntu xenial-updates основной юниверс
Настройка языка клавиатуры и локали:
apt update
locale-gen en_US.UTF-8
echo 'LANG="en_US.UTF-8"' > /etc/default/locale
dpkg-reconfigure tzdata
Установите Ubuntu:
apt install --yes ubuntu-minimal
apt install --yes --no-install-recommends linux-image-generic
Установите пароль:
passwd
Установите GRUB: установите GRUB на диск (а), а не на раздел (ы)!
apt update
apt install --yes grub-pc
(пока не устанавливайте grub)
Отредактируйте /etc/default/grub
- Комментарий: GRUB_HIDDEN_TIMEOUT=0
- Удалить тихий и всплеск от: GRUB_CMDLINE_LINUX_DEFAULT
- Раскомментировать: GRUB_TERMINAL= консоль
- В строке GRUB_CMDLINE_LINUX добавьте net.ifnames=0
Затем запустите:
update-grub
grub-install /dev/disk/by-id/YOUR HDD ID
если у вас есть еще HDD, установите grub на них!
Должен сказать:
Установка для платформы i386-pc. Установка завершена. Об ошибках не сообщается.
Теперь время для перезагрузки:
exit
reboot
перезагрузка -f (если она не хочет перезагружаться)
Теперь мы надеемся, что вы будете внутри минимальной Ubuntu.
Оттуда вы хотите настроить Swap и установить все нужные вам программы. И установите пользователя sudo, чтобы вы не запускались от имени пользователя root.