我正在尝试在 Lenovo ideapad 320 (151IAP) 上安装 Ubuntu 并覆盖 Windows。我正在使用启动盘创建器和 18.04 映像从 U 盘启动。
这将是一篇很长的文章,因为我尝试了很多不同的事情,但我的假设是我有一个可以运行的 ubuntu 安装,我只需要让它正常启动;我现在不再那么确定情况了。这是我最新的启动修复输出。
更新:我尝试使用 grub 启动这些说明并出现错误“在 /etc/fstab 中找不到 /root”和“在 /root/dev 上安装 /dev 失败:没有这样的文件或目录”,运行时也是如此。此外,我看到 /home/dustan/ 目录是空的。我不太确定正确安装后目录系统应该是什么样子,所以如果我错了,请纠正我:这在我看来是证据反对我的假设是我只需要修复 grub。我尝试使用 mkusb 而不是默认的启动盘创建器来制作 usb 棒;它仍然挂在安装 grub 上。
以下是完整故事:
我遇到的第一个问题是安装程序卡在“配置硬件”上。我最终按照给出的建议找到了如何禁用安全启动和快速启动的方法这里,安装程序不再挂起。
相反,它挂在 Grub2 上,所以我按照给出的建议这里(经过多次失败尝试)指定与启动分区(sda1)分开的 Ubuntu 分区(sda2)。它仍然挂在 Grub2 上(没有绕过它,所以我不太确定这个答案实际上是什么意思)。
在配置硬件和 Grub2 挂起的情况下,我都花了整整几个小时才让计算机正确安装。
当我查看安装程序中的日志时,它显示重复出现的“无效报告 ID 数据”实例,与使用触摸板有关。确实有一个此触摸板和 Ubuntu 驱动程序的已知问题,但尽管有这些错误,触摸板仍然正常工作,我想如果我能让 Ubuntu 正常工作,我以后就可以处理驱动程序问题。不幸的是,这些错误可能会掩盖任何实际的严重错误。
因此,经过多次尝试以使其正常工作后,我最终决定尝试修复 Grub。
在我列出启动修复错误之前,我忘了提一下我在安装上述内容时尝试的另一件事;一旦我弄清楚了如何修改启动行,我就会尝试 noacpi、nolapic、irqpoll 和 noapic(我有点使用这作为参考,但我仍然不知道我实际上在做什么)。
如果我按照启动修复中的建议进行修复,它会挂起而不提供任何反馈。
如果我在启动修复中的高级选项下禁用 SecureBoot,然后运行推荐的修复,它将自行设置为清除 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
答案1
解决方案很简单:更改 bios 设置:启动模式改为传统支持,启动优先级改为传统优先。然后重新安装 Ubuntu,一切就好了。
答案2
我建议使用 debootstrap 进行手动安装。
从 USB 驱动器或救援 CD 启动,然后运行:
apt update && apt install --yes debootstrap gdisk linux-headers-$(uname -r)
找出你的硬盘的 ID,始终使用 ID,而不是 sda、sdb 等。
ls /dev/disk/by-id/
使用 fdisk 删除旧分区并创建新分区(在 Google 上搜索 Linux 分区方案)
将根分区挂载到 /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 并添加:
德布http://archive.ubuntu.com/ubuntuxenial 主宇宙 deb-src http://archive.ubuntu.com/ubuntuxenial 主宇宙
德布http://security.ubuntu.com/ubuntuxenial-security 主宇宙 deb-srchttp://security.ubuntu.com/ubuntuxenial-security 主宇宙
德布http://archive.ubuntu.com/ubuntuxenial-updates 主宇宙 deb-srchttp://archive.ubuntu.com/ubuntuxenial-更新主宇宙
设置键盘语言和区域设置:
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 中删除 quiet 和 splash
- 取消注释:GRUB_TERMINAL=console
- 在 GRUB_CMDLINE_LINUX 行添加 net.ifnames=0
然后运行:
update-grub
grub-install /dev/disk/by-id/YOUR HDD ID
如果你有更多的硬盘,也请在它们上安装 grub!
应该说:
正在为 i386-pc 平台安装。安装完成。未报告任何错误。
现在重新启动:
exit
reboot
reboot -f (如果不想重新启动)
现在您将处于一个最小的 Ubuntu 环境中。
从那里您需要配置 Swap 并安装所需的所有程序。并安装 sudo 用户,这样您就无需以 root 身份运行。