[ 已解决 ] openSUSE/Windows 8 无 UEFI 无法正常启动

我的笔记本是 DELL XPS17,没有 UEFI,双硬盘加双系统,Windows 8 pro x64 和 openSUSE 12.3 X86_64,都装在一块 SSD 上。
最近经常在启动 openSUSE 时出错,进入到了 emergency mode 中,要重新启动到 Win8 后,再回到 openSUSE 才可以。
启动失败时,提示我:

doing fast boot
Creating device nodes with udev
Welcome to emergency mode. 

然后要我输入
journalctl -b
来查看日志,或者是
journalctl reboot
重启,和
journalctl default
重试启动到 default 模式。
当我输入 journalctl default 时,还是出现错误,提示我

Failed to issue method call: Transaction is destructive.

然后我查看日志,显示

Apr 18 19:28:40 linux-meeh.site systemd-journal[286]: Allowing runtime journal files to grow to 196.1M. 
Apr 18 19:28:40 linux-meeh.site kernel: Initializing cgroup subsys cpuset 
Apr 18 19:28:40 linux-meeh.site kernel: Initializing cgroup subsys cpu 
Apr 18 19:28:40 linux-meeh.site kernel: Linux version 3.7.10-1.1-desktop (geeko@buildhost) (gcc version 4.7.2 20130108 [gcc-4_7-branch revision 195012] (SUSE Linux) ) #1 SMP PREEMPT Thu Feb 28 15:06:29 UTC 2013 (82d3f21) 
Apr 18 19:28:40 linux-meeh.site kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-3.7.10-1.1-desktop root=UUID=0db17635-a45e-488e-830b-902c0a38d5c7 resume=/dev/disk/by-id/ata-OCZ-VERTEX4_OCZ-4H4AK89734456UW3-part5 splash=silent quiet showopts 
Apr 18 19:28:40 linux-meeh.site kernel: Disabled fast string operations 
Apr 18 19:28:40 linux-meeh.site kernel: e820: BIOS-provided physical RAM map: 
Apr 18 19:28:40 linux-meeh.site kernel: BIOS-e820: [mem 0x0000000000000000-0x000000000009d7ff] usable 
Apr 18 19:28:40 linux-meeh.site kernel: BIOS-e820: [mem 0x000000000009d800-0x000000000009ffff] reserved 
Apr 18 19:28:40 linux-meeh.site kernel: BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved 
Apr 18 19:28:40 linux-meeh.site kernel: BIOS-e820: [mem 0x0000000000100000-0x00000000bf48efff] usable 
Apr 18 19:28:40 linux-meeh.site kernel: BIOS-e820: [mem 0x00000000bf48f000-0x00000000bf71efff] reserved 
Apr 18 19:28:40 linux-meeh.site kernel: BIOS-e820: [mem 0x00000000bf71f000-0x00000000bf79efff] ACPI NVS 
Apr 18 19:28:40 linux-meeh.site kernel: BIOS-e820: [mem 0x00000000bf79f000-0x00000000bf7fefff] ACPI data 
Apr 18 19:28:40 linux-meeh.site kernel: BIOS-e820: [mem 0x00000000bf7ff000-0x00000000bf7fffff] usable 
Apr 18 19:28:40 linux-meeh.site kernel: BIOS-e820: [mem 0x00000000bf800000-0x00000000bfffffff] reserved 
Apr 18 19:28:40 linux-meeh.site kernel: BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff] reserved 
Apr 18 19:28:40 linux-meeh.site kernel: BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved 
Apr 18 19:28:40 linux-meeh.site kernel: BIOS-e820: [mem 0x00000000fed08000-0x00000000fed08fff] reserved 
Apr 18 19:28:40 linux-meeh.site kernel: BIOS-e820: [mem 0x00000000fed10000-0x00000000fed19fff] reserved 
Apr 18 19:28:40 linux-meeh.site kernel: BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved 
Apr 18 19:28:40 linux-meeh.site kernel: BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved 
Apr 18 19:28:40 linux-meeh.site kernel: BIOS-e820: [mem 0x00000000ffd80000-0x00000000ffffffff] reserved 
Apr 18 19:28:40 linux-meeh.site kernel: BIOS-e820: [mem 0x0000000100000000-0x000000013e3fefff] usable 
Apr 18 19:28:40 linux-meeh.site kernel: BIOS-e820: [mem 0x000000013e3ff000-0x000000013f7fffff] reserved 
Apr 18 19:28:40 linux-meeh.site kernel: NX (Execute Disable) protection: active 
Apr 18 19:28:40 linux-meeh.site kernel: SMBIOS 2.6 present. 
Apr 18 19:28:40 linux-meeh.site kernel: DMI: Dell Inc. Dell System XPS L702X/03RG89, BIOS A19 09/07/2012 

这上面是屏幕显示的日志,我把这些保存到文件后,又多出了不少内容,以把完整的日纸附在附件上了。

你贴的 openSUSE 日志是好的。

windows 8 的问题,之前在官方坛子 (forums.opensuse.org) 上有个用户问了相似的问题,我帮他去 G+ openSUSE 官方社团问,得到的解释是:

windows 8 的关机不是关机,而是深度睡眠。所以 NTFS 磁盘是在使用的,这就导致无法被 openSUSE 挂载。
openSUSE 认为你的硬盘有问题,就进入 emergency mode 了。

当时我建议的解决方案是取消开机自动挂载 windows 8 所在磁盘。

如果你也想使用这种方法请贴一下你的 /etc/fstab。

我的 openSUSE 和 Windows 都装在同一个 SSD 上,这没有问题吗?

/dev/disk/by-id/ata-OCZ-VERTEX4_OCZ-4H4AK89734456UW3-part5 swap                 swap       defaults              0 0
/dev/disk/by-id/ata-OCZ-VERTEX4_OCZ-4H4AK89734456UW3-part6 /                    ext4       acl,user_xattr        1 1
/dev/disk/by-id/ata-OCZ-VERTEX4_OCZ-4H4AK89734456UW3-part7 /home                ext4       defaults              1 2
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
usbfs                /proc/bus/usb        usbfs      noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
/dev/sda1	     /media/DiskD	  ntfs-3g    defaults		   0 0
/dev/sda2	     /media/DiskE	  ntfs-3g    defaults		   0 0

我有两款硬盘,sda 是 HDD,sdb 是 SSD,两个 OS 都装在 sdb 上。
我把 sda 分成了两个区,NTFS,分别作为 D 盘和 E 盘。

win8 的深度睡眠欺骗了很多人,多少人安装后,不满意,想装回 win7,都在问怎么才能关掉。

  1. 一个硬盘装双系统,这应该有问题吗?

  2. 应该是这两个被 Windows 8 使用不释放导致的。把它们从 fstab 删掉排除一下这种可能性。

    /dev/sda1 /media/DiskD ntfs-3g defaults 0 0
    /dev/sda2 /media/DiskE ntfs-3g defaults 0 0

你可以现用现挂。dolphin 应该在左侧自动就认出来它们,你用的时候点一下询问 root 密码,给了密码立刻就挂上了。

当然如果你用 windows 8 即使挂载不出问题,也只能读,不能写,因为 ntfs-3g 是一个没有得到微软任何帮助的逆向工程,它只做到了对 没有被 Windows 使用的 NTFS 分区的完全读写 。被 Windows 使用的它可以读,但是要写的话, 会丢失 Windows 那边缓存里的数据 ,总之那么做会造成非预期行为。

真得是非常感谢 marguerite,我被这个问题困扰好久了!

难怪 win8 这个废物要回炉再造。

很烦 win8,尤其是现在笔记本都预装这个
跟个强盗软件没区别