AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1038476
Accepted
Dustan Levenstein
Dustan Levenstein
Asked: 2018-05-21 12:20:16 +0800 CST2018-05-21 12:20:16 +0800 CST 2018-05-21 12:20:16 +0800 CST

陷入 Ubuntu 安装问题的兔子洞

  • 772

我正在尝试在联想ideapad 320 (151IAP) 上安装覆盖Windows 的Ubuntu。我正在启动使用启动磁盘创建器和 18.04 映像创建的 USB 记忆棒。

这将是一篇很长的文章,因为我尝试了很多不同的东西,但我的假设是我有一个工作安装的 ubuntu,我只需要让它正常启动;我不太确定情况是否如此。这是我最新的引导修复输出。

更新:我尝试使用这些说明从 grub 引导并得到错误“在 /etc/fstab 中找不到 /root”和“在 /root/dev 上挂载 /dev 失败:没有这样的文件或目录”,与运行相同。另外,我看到 /home/dustan/ 目录是空的。我不太确定目录系统在正确安装后应该如何看待,所以如果我错了请纠正我:在我看来,这似乎证明了我只需要修复 grub 的假设的证据。我尝试使用 mkusb 而不是默认的启动磁盘创建器制作 USB 棒;它仍然挂在安装 grub 上。

这是完整的故事:

我遇到的第一个问题是安装程序挂在“配置硬件”上。根据此处给出的建议,我最终弄清楚了如何禁用安全启动和快速启动,并且安装程序不再挂在那里。

相反,它挂在 Grub2 上,所以我按照这里给出的建议(在几次尝试失败后)指定 Ubuntu 分区(sda2)与引导分区(sda1)分开。它仍然挂在 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
system-installation grub2 boot boot-repair startup-disk-creator
  • 2 2 个回答
  • 2859 Views

2 个回答

  • Voted
  1. Best Answer
    Dustan Levenstein
    2018-06-03T11:26:19+08:002018-06-03T11:26:19+08:00

    解决方案很简单:更改 BIOS 设置:引导模式为传统支持,引导优先级为传统优先。然后重新安装Ubuntu,它工作。

    • 1
  2. Z3TA
    2018-06-02T02:00:20+08:002018-06-02T02:00:20+08:00

    我建议使用 debootstrap 手动安装。

    从 USB 驱动器或救援光盘启动,然后运行:

    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 并添加:

    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=console
    • 在 GRUB_CMDLINE_LINUX 行添加 net.ifnames=0

    然后运行:

    update-grub
    
    grub-install /dev/disk/by-id/YOUR HDD ID
    

    如果你也有更多的 HDD 安装 grub!

    应该说:

    为 i386-pc 平台安装。安装完成。没有报告错误。

    现在是重新启动的时间:

    exit
    reboot
    

    reboot -f (如果它不想重新启动)

    您现在有望在一个最小的 Ubuntu 中。

    从那里你想配置交换并安装你想要的所有程序。并安装一个 sudo 用户,这样您就不会以 root 身份运行。

    • 0

相关问题

  • 如何在 Ubuntu 启动时显示或隐藏启动消息?

  • 您对台式机和家庭服务器的驱动器分区方案有什么建议?[关闭]

  • 如何避免启动时出现“S to Skip”消息?

  • 安装时,我可以选择加密我的主文件夹——这是做什么的?

  • 在不使用标准升级系统的情况下升级有哪些替代方案?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve