UPDATE 2018-03-23
所以,我终于找到了问题所在。这都是关于在双引导安装程序启动时挂载NTFS的部分。因此,如果希望在windows和linux之间共享数据,则可能需要在NTFS上使用FAT32。windows有时会以某种方式卸载文件系统,这会导致linux再次挂载它。要解决启动问题,您可以进入紧急控制台并键入
ntfsfix /dev/sdXX其中sdXX是ntfs分区的标识符。您可以在/etc/fstab中查找或键入df。运行ntfsfix之后,您可以通过退出紧急控制台(只需键入exit)登录。
ORIGINAL帖子
最近我决定升级我的个人电脑,重新安装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/sda 3),并将所有其他内容安装到nvme上。
为了避免配置grub,我决定先安装windows 10,然后安装ubuntu,所以ubuntu将自动将grub写入/dev/sda的MBR中。一切都很完美..。
此外,我还为ssd创建了一个ntfs-3g挂载,用于在操作系统之间共享数据。我只在hdd上创建了一个ext4分区,并将其挂载到某个用户文件夹中(在/media中)。
What到目前为止我尝试过
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 /contents of /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).
#
#
# / 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 2And最后一次失败的引导尝试的日志
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.发布于 2018-03-09 13:23:27
我设法找出了问题并解决了它们。
在另一个磁盘上安装/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开始。
nano /etc/fstab需要防止在/var上安装额外的分区。一旦编辑器启动,按下Ctrl+w,然后按Ctrl+x,就会超过挂载并关闭umount /dev/sdxx /var卸载驱动器mkdir /media/var创建一个要重新装入sdxx的目录。mount /dev/sdxx /media/var将分区挂载到新目录上rm -rf /var使用大锤,确保以前没有留下任何东西。mkdir /var将新的空文件夹创建为rootrsync -a /media/var/ /var/将一切复制为-原样到/var。我不知道为什么,但是cp -a给了我错误的结果,只有rsync -a看起来工作可靠。reboot测试装置我在cp -r上有什么问题?
在将所有文件复制到/var之后,我通过运行几个命令来检查结构是否相同。
按文件夹大小划分的checking
du -hs /var对du -hs /media/var
checking按符号链接的数目计算
find /var -type l | wc -l对find /media/var -type l | wc -l
我做了几次尝试,cp总是搞砸了一些事情,要么是权限错误,要么是服务开始阻塞引导,要么是在源代码中没有链接的地方创建链接。不要问我为什么--就像我所理解的,cp -a应该完美地工作--但它没有。不过,rsync -a做了
重要:不要忘记rsync命令中的尾斜杠
更新
所以现在情况变得更清楚了。在将我的/dev/sda5 5配置为直接挂载/var/www而不是/var (由于历史原因,我习惯于将我的web项目托管在该位置)之后,引导又没有成功。所以我想一定是apache阻止了我的启动。
我的解决方案
mount -a -orw,remount以具有对文件系统的读写访问权限systemctl disable apache2.service以防止apache在引导时自动启动。现在又起作用了。
出于某种原因,apache似乎在所有磁盘被挂载之前加载。所以这可能是系统中的一个讨厌的错误。
我现在要重新启动5次,以确定:-)
<#>UPDATE 2
好吧-似乎不止一个问题同时影响了我
我终于(至少在目前看来很沮丧)使我的设置通过以下方式工作:
因此,具体如下:
Ubuntu似乎将所有驱动器都并行地挂载,而不是一个接一个地挂载,这就是这个问题的随机性的原因。
当windows关闭时,它可能不会因为某些内部windows问题而留下一个“干净”的文件系统。
我的/etc/fstab只包含关键的linux专用分区:
#
/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靴,无问题。但我怀疑现在一切都很好,我的系统似乎被诅咒了
UPDATE 3
这也不是一个解决方案,现在安装变得“有竞争力”,因为ubuntu试图自动在/media/$USER/ /dev/sdb1上挂载D59和
此外,我注意到ntfs-3g有时阻止关闭,所以我不得不按下电源按钮关闭。
我觉得有件事我很怀念:-
https://askubuntu.com/questions/1012809
复制相似问题