我在互联网上没有找到有关此特定问题的任何信息,因此我在此寻求帮助:
有一次,我的 Windows 7 和 Ubuntu 双启动运行正常。然后我买了一个新的内置 1 TB 硬盘,并决定在上面安装 Win 7 和 Ubuntu。插入新硬盘后,我按照以下步骤操作(这样就有两个硬盘):
使用 Win7 安装 DVD:
- 在我的新内部硬盘(1TB)上,我创建了 3 个格式化为 NTFS 的主 MBR 分区,并留下了一些可用空间以便稍后安装 Ubuntu。(第一个分区有 200 GB 用于 Windows,第二个和第三个分区各有 300 GB 用于保存媒体和其他文档,还有 200 GB 的可用空间)。
- 我在第一个分区(200 GB)上安装了 Win7 Ultimate,没有任何问题,将我的媒体文件传输到了第二和第三个分区,并格式化了我的旧硬盘(有 250 GB)。
然后我插入 Ubuntu Live CD 进行安装并按要求重新启动:
- 机器使用 Live CD 启动,但当我进入选择安装屏幕时,它没有显示“与 Windows 一起安装”的选项。只有两个选项,“安装 ubuntu”和“其他”。
- 我选择了“其他”并继续操作直到分区处理屏幕。此屏幕确实显示了所有 3 个具有正确大小的主 NTFS 分区和未分区空间。
- 然后我在可用空间上创建了 3 个逻辑分区(一个用于 /,另一个用于 /home,另一个用于交换)并选择在 HD 上安装引导加载程序(而不是在任何特定分区上)。
完成安装过程后,我正常重新启动,并且正如我已经怀疑的那样,机器直接启动到 ubuntu。由于安装程序无法识别 win7 安装,因此 grub2 上没有它的条目。
然后,更奇怪的是,当我打开 Nautilus 时,包含我的媒体文件的第 2 和第 3 个 NTFS 分区就在那里,我可以挂载和访问(我确实可以毫无问题地访问它们),但 Win7 分区根本不存在。当我尝试使用 Dolphin 和 Krusader 时,也发生了同样的情况。
仍然很奇怪,磁盘实用程序确实显示了 win7 分区,并显示它是 NTFS 并且具有可启动标志,但在“用法:”下,其他分区显示“文件系统”,它只显示“-”,没有标签(或磁盘图形表示上的“未知”),并且无法挂载。
然后我打开终端并尝试“sudo blkid”,没有返回,但弹出一个窗口说 blkid 已崩溃。在邮件详情中,邮件标题为blkid crashed with SIGSEGV in blkid_do_safeprobe()", the SegvReason says "reading unknown VMA
,SegvAnalysis 内容为:
Segfault happened at: 0x7fa9ac7e17b6: mov 0x4(%rsi),%eax
PC(0x7fa9ac7e17b6) ok
source"0x4(%rsi)" (0xfffffffffa1e8c4c) not located in a known VMA region (needed readable region)!
destination "%eax" ok
奇怪的是,当我尝试时,sudo fdisk -l
它确实正确显示了所有分区的列表,包括具有正确大小和启动标志的第一个 NTFS 分区,但没有挂载点,也没有关于其上有窗口的任何信息。
我多次重启机器,每当我打开任何调用 blkid 的程序时,都会弹出此窗口,提示 blkid 崩溃,例如“NTFS 配置工具”、“MountManager”,有时甚至原生 Ubuntu 更新程序也会在更新过程中使 blkid 崩溃,尽管整个更新过程从未停滞。
此外,当我尝试使用“mount”命令(带或不带 sudo)在终端上挂载该分区时,它会返回我没有权限执行此操作,即使我是唯一的用户并且它是一个管理员帐户。
在经历了所有这些之后,我仍然需要做一些调整才能在我的 Windows7 上启动(恢复 Windows 引导加载程序,并在 Windows 上使用 EasyBCD 在 win 引导加载程序上添加一个 Ubuntu 条目,因为我不知道如何手动编辑 Grub2,即使我这样做了,我也不确定它是否会在这种情况下起作用)。
为了尝试最后一件事,我格式化并排除了 Ubuntu 所在的逻辑分区,然后在我仍有的 250 GB 旧硬盘上重新安装了 Ubuntu。但结果完全相同。以下是sudo fdisk -l
返回的结果(sda 是第三个硬盘,我没有提到,因为它只有一些旧文件,没有操作系统。Windows 在 sdb1 上,Ubuntu 现在在 sdc 上):
Disk /dev/sda: 120.1 GB, 120060444672 bytes
255 heads, 63 sectors/track, 14596 cylinders, total 234493056 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x3d8a3d8a
Device Boot Start End Blocks Id System
/dev/sda1 2048 234489855 117243904 7 HPFS/NTFS/exFAT
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x1b8c281d
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 419432447 209715200 7 HPFS/NTFS/exFAT
/dev/sdb2 419432448 1048578047 314572800 7 HPFS/NTFS/exFAT
/dev/sdb3 1048578048 1677723647 314572800 7 HPFS/NTFS/exFAT
Disk /dev/sdc: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x7d822705
Device Boot Start End Blocks Id System
/dev/sdc1 * 2048 70596607 35297280 83 Linux
/dev/sdc2 70598654 183271423 56336385 5 Extended
/dev/sdc5 70598656 175458303 52429824 83 Linux
/dev/sdc6 175460352 183271423 3905536 82 Linux swap / Solaris
我唯一没有尝试的是格式化 Windows 并将其安装在旧 HD 上,因为我在 Windows 上已经设置了太多东西,重新安装它会太费力。
在互联网上搜索此问题时,我只发现了一个类似的问题,但我不确定这是否与我遇到的情况相同:有一个人提交了一份(长期未处理的)错误报告,他无法访问他的外部硬盘,而且每次尝试时 blkid 都会崩溃。但在那种情况下,除了是外部硬盘之外,那个人似乎没有在其上安装任何操作系统。而就我而言,似乎是 Windows 的存在阻止了对该分区的访问,因为所有其他分区都可以完全访问。
谁能告诉我出了什么问题?
答案1
昨天,在更新 Ubuntu 后,这个问题神奇地消失了。Win7
分区现在可以完美访问,Grub 现在显示 Windows 条目,blkid 返回预期结果,不会崩溃!
我不知道我发送的数十份崩溃报告是否有任何不同,但事实是错误已经消失。
感谢 Ubuntu 团队!