启动缓慢或者根本无法启动——这次我怎么把我的 Ubuntu 安装搞砸了?

启动缓慢或者根本无法启动——这次我怎么把我的 Ubuntu 安装搞砸了?

更新日期 2018-03-23

所以,我终于找到了问题所在。这都是关于在双启动设置中启动时安装 NTFS 分区。因此,如果您想在 Windows 和 Linux 之间共享数据,您可能需要使用 FAT32 而不是 NTFS。似乎 Windows 有时会以某种方式卸载文件系统,这会导致 Linux 再次安装时遇到麻烦。要解决启动问题,您可以进入紧急控制台并输入

ntfsfix /dev/sdXX

其中sdXX是 ntfs 分区的标识符。您可以在/etc/fstab或 中输入 来查找df。运行 ntfsfix 后,您可以通过退出紧急控制台来登录(只需输入exit

原始帖子

我最近决定升级我的电脑并重新安装 ubuntu 和 windows。我肯定犯了一些严重的错误,因为每次尝试启动 ubuntu 时才成功。

当启动失败时,会出现一个紧急终端。我按照建议导出了日志journalctl -xb,并为您上传了输出(见下面的链接)

我的硬件配置的相关部分:

Asus M5A97 LE R2.0 Mainboard
    - PCIe 2.0 x 16: AMD Radeon R9 380
    - PCIe 2.0 x 4: PCIe > M.2 Converter
        - 500GB NVME attached to M.2 Converter
    - PCI: Creative Sound Blaster X-Fi SB0730
    - SATA-3: 480GB SSD
    - SATA-3: 500GB HDD

主板不支持从 pcie 启动,因此我无法将 windows 或 ubuntu 直接安装到 NVME 驱动器。我认为只需将引导加载程序安装到 SSD (/dev/sda),将 /boot 挂载到 ssd 上的主分区 (/dev/sda3) 上,然后将其他所有内容挂载到 nvme 上就可以了。

为了避免配置 grub,我决定先安装 Windows 10,然后再安装 ubuntu,这样 ubuntu 就会自动将 grub 写入 /dev/sda 的 MBR。这样总是能完美运行...

此外,我还为 ssd 创建了一个 ntfs-3g 挂载,以便在我的操作系统之间共享数据。我在 hdd 上只创建了一个 ext4 分区,并将其挂载到某个用户文件夹(/media 内)上

我迄今为止尝试过

  • 一开始我发现没有声音。因为我买的是二手主板,所以我以为 ac97 芯片坏了,所以买了一个二手声卡(见上文)。我以为那可能导致启动问题,但事实并非如此。我现在确实有声音了,但启动问题仍然存在。

  • 然后,由于多次安装尝试,我读到了一些关于 /etc/fstab 中的 UUID 问题,并且我检查了所有 uuid,它们与 /etc/fstab 中的相同。

  • 然后我读到了一些关于错误安装的交换分区的信息,所以我卸载了 /dev/nvme0n1p6 上的分区,然后关闭了 swapoff 并重新交换了该分区。没有成功。

  • 然后我发现一些帖子,最好从 /etc/fstab 中删除 uuid,然后直接插入分区。所以我这样做了 - 没有成功。

  • 像往常一样,lightdm 出现了很多问题,所以我安装了 gdm。

lsblk -f输出

NAME        FSTYPE   LABEL             UUID                                 MOUNTPOINT
loop1       squashfs                                                        /snap/vlc/190
sdb                                                                         
└─sdb1      ext4                       4fd6ff2a-50d0-465e-bd85-1c698bdbdc4a /media/hdd
loop0       squashfs                                                        /snap/core/4110
sda                                                                         
├─sda4                                                                      
├─sda2      ntfs                       CAC4D02AC4D01B11                     
├─sda5      ext4                       b68dceb3-b600-4143-bbcb-836e94503c34 /var
├─sda3      ext4                       09ef7d7c-6332-4c63-b4df-5875db98ebd7 /boot
├─sda1      ntfs     System-reserviert 0CE4C7BBE4C7A4F4                     
└─sda6      ntfs     Share             7FA5097E3B9D5067                     /media/share
nvme0n1                                                                     
├─nvme0n1p5 ntfs     NVME              AA52186052183393                     
├─nvme0n1p1                                                                 
├─nvme0n1p6 swap                       3277de96-09c9-4731-805a-a693c08543ab [SWAP]
└─nvme0n1p2 ext4                       891a41fd-4c9b-4c0f-9f10-7abe82952b0a /

的内容/etc/fstab

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/nvme0n1p2 during installation
/dev/nvme0n1p2 /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda3 during installation
/dev/sda3 /boot           ext4    defaults        0       2
# /var was on /dev/sda5 during installation
/dev/sda5 /var            ext4    defaults        0       2
# swap was on /dev/nvme0n1p6 during installation
/dev/nvme0n1p6 none            swap    sw              0       0
# share ntfs partition on 480g ssd
/dev/sda6   /media/share    ntfs-3g permissions 0   2
# hdd
/dev/sdb1   /media/hdd  ext4    defaults    0   2

最后是我上次启动失败的日志

http://s000.tinyupload.com/download.php?file_id=00683467828265059379&t=0068346782826505937914236

我会很感激任何帮助!感谢您阅读到目前为止的内容 ;-)

更新

引导日志的这一部分可能很有趣:

Mär 07 18:12:34 desktop-amdfx systemd-fsck[732]: /dev/sda3 besitzt nicht unterstützte Eigenschaft(en): metadata_csum
Mär 07 18:12:34 desktop-amdfx systemd-fsck[732]: e2fsck: Neuere Version von e2fsck benötigt!
Mär 07 18:12:34 desktop-amdfx systemd-fsck[732]: fsck failed with error code 8.
Mär 07 18:12:34 desktop-amdfx systemd-fsck[732]: Ignoring error.
Mär 07 18:12:34 desktop-amdfx systemd[1]: Found device SanDisk_Ultra_II_480GB 5.

答案1

我设法找出问题并解决它们。

将 /var 挂载到其他磁盘上似乎有问题。可能是因为在启动过程中,当磁盘尚未挂载时,将日志记录到 /var/log 中是硬编码的。

怎么解决?

启动到恢复模式安装驱动器,具有读/写选项

然后

nano /etc/fstab
# -> in nano outcomment the /var mount by prepending a "#" character
umount /dev/sdxx /var
mkdir /media/var
mount /dev/sdxx /media/var
rm -rf /var
mkdir /var
rsync -a /media/var/ /var/
reboot

解释

sdxx是您在 /var 上挂载的分区标识符。根据您的设置,它也可以从 nvme 开始。

  1. nano /etc/fstab首先,我们需要防止在 /var 上挂载额外的分区。一旦编辑器启动,请按Ctrl+w以下方式取消注释挂载并关闭:Ctrl+x
  2. umount /dev/sdxx /var卸载驱动器
  3. mkdir /media/var创建一个目录,在其中重新挂载 sdxx
  4. mount /dev/sdxx /media/var将分区挂载到新目录
  5. rm -rf /var使用大锤,确保之前没有留下任何东西
  6. mkdir /var以 root 身份创建新的空文件夹
  7. rsync -a /media/var/ /var/将所有内容按原样复制到 /var。我不知道为什么,但是 cp -a 给出了错误的结果,只有 rsync -a 似乎可以可靠地工作。
  8. reboot测试安装

我的问题出在哪里cp -r

将所有文件复制到 /var 后,我通过运行一些命令检查结构是否相同。

按文件夹大小检查

du -hs /var对阵du -hs /media/var

通过符号链接数检查

find /var -type l | wc -l对阵find /media/var -type l | wc -l

我尝试了几次,cp 总是搞砸了,要么是权限错误,服务开始阻止启动,要么是在源中没有的地方创建了链接。不要问我为什么——据我所知cp -a它应该可以完美运行——但它却不行。然而 rsync -a 却可以

重要的:不要忘记 rsync 命令中的尾部斜杠

更新

现在情况变得更加明朗。在将我的 /dev/sda5 配置为直接挂载/var/www而不是/var(由于历史原因,我习惯在该位置托管我的 Web 项目)后,启动再次失败。因此,我认为一定是 apache 阻止了我的启动。

我的解决方案

  1. 启动进入恢复模式
  2. 运行mount -a -orw,remount以获得对文件系统的读/写访问权限
  3. 运行systemctl disable apache2.service以防止 apache 在启动时自动启动

现在它又能正常工作了。

由于某种原因,似乎 apache 在所有磁盘安装完成之前就开始加载了。所以这可能是 systemd 中的一些严重错误。

我现在要重新启动五次以确保万无一失:-)

更新2

好的 - 似乎有多个问题同时影响到我

我终于(至少目前看起来很沮丧)我的设置工作正常:

  1. 将所有可选挂载(/、/boot 和 swap 除外)从 /etc/fstab 移至 /etc/rc.local 中的手动挂载
  2. 在安装 Windows 和 Linux 中都安装的分区之前运行 ntfsfix

详细来说:

Ubuntu 似乎并行安装所有驱动器,而不是逐个安装,这就是该问题随机性的原因。

当 Windows 关闭时,由于某些内部原因,它可能不会留下“干净”的文件系统。

我的/etc/fstab仅包含关键的 Linux 专用分区:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/nvme0n1p2 /               ext4    errors=remount-ro 0       1
/dev/sda3 /boot           ext4    defaults        0       2
/dev/nvme0n1p6 none            swap    sw              0       0

我的/etc/rc.local包含了其他所有内容的说明:

mount /dev/sda5 /var/www
mount /dev/sdb1 /media/hdd
ntfsfix /dev/sda6
mount -t ntfs-3g /dev/sda6 /media/share
exit 0

连续启动 3 次都没有问题。但我怀疑现在一切都没问题,我的系统似乎被诅咒了

更新 3

这也不是一个解决方案,挂载现在变得“有竞争力”,因为 ubuntu 尝试挂载/dev/sda5/dev/sdb1自动在 /media/$USER/somelabel 上

此外,我注意到 ntfs-3g 有时会阻止关机,所以我必须按下电源按钮才能关机。

我觉得有些东西我完全错过了 :-(

相关内容