今天本来打算给笔记本安装一个ubuntu系统, 一不小心把原来windows的数据给格了, 好伤心啊. 好多资料,照片,片子都没有了. 伤心之余, 决定重新安装Windows 7 以及 ubuntu.
重新安装win7后, 诡异的问题出现. 当我再打算安装ubuntu的时候, 在ubuntu的磁盘管理界面, 无法识别 windows系统及其分区. 在ubuntu看来,就是一整块为分区的硬盘. 这没法安双系统了. 经过上网搜索, 终于找到答案, 特此记录:
解决我问题的帖子是这个: http://forum.ubuntu.org.cn/viewtopic.php?f=77&t=381008 非常感谢作者以及原原作者.
1. 用 live CD 进入ubuntu系统, 在命令行输入
sudo fdisk -l
如果出现警告: WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
那么就是和我一样的问题了。
解决办法是执行下面的命令:
sudo dd if=/dev/zero of=/dev/sda bs=1 count=8 seek=512
对于此命令, 原原作者 billbear 说的非常清楚 (http://forum.ubuntu.org.cn/viewtopic.php?f=77&t=190435):
这会抹去 Primary GPT header 里的 GPT signature。请不要输错任何一个字,包括空格。
马上重启看看 windows 的各个盘符是否正常。不出意外的话,应该就没有问题了,备份的资料可以丢弃了。
ubuntu 安装程序应该可以进行了。
说明: GPT 分区表有两份同样的拷贝,分别在磁盘的开头 mbr LBA0 之后和磁盘的末端。
上面的操作抹去的是磁盘开头的 GPT signature,在磁盘末端尚有一个备份的 Secondary GPT header,本来也应该抹去的,但是已经不影响了。安装程序不会再把它看作 GPT 磁盘。
由于这第二份 GPT 分区表的存在,在 sudo fdisk -l 的时候依然会跳出警告。
GTP 相关知识在这里 : http://en.wikipedia.org/wiki/GUID_Partition_Table
执行完上面的操作,再次安装ubuntu,终于可以正确识别硬盘分区了。
PS:本来打算安装 ubuntu 13.10, 但是安装完后启动各种问题。最后选择了12.04,非常给力,安装完毕一切正常。 另外我百思不得其解啊. 这个电脑我不是第一次装双系统了, 为什么之前安装ubuntu的时候,都不曾遇到呢?