系统安装和升级版置顶索引
ubuntu 的安装程序对于分区表的错误是零容忍。出错的分区表在安装到了分区这一步时安装程序不会给出原来的任何分区信息,你只能抹掉整个硬盘或者退出安装,修理你的分区表。gparted 也是这种性格。这么做还是有道理的,不在已经有问题的分区表上继续捣乱。
当然,除了分区表错误,另一种原因,8.10 之后的安装程序在有分区被挂载的情形下也会无法分区,这通常发生在硬盘安装的情况下。这不是我今天要讨论的。
如果你是用光盘安装,可以识别硬盘,但是无法看到分区,这基本上就可以被断定是分区表出问题了。通常,你应该运行如下几个命令来得到细节。
sudo fdisk -l
这会告诉你 mbr 型分区表的详细信息。有时候,给出更细的细节也是很好的:
sudo fdisk -lu
sudo parted /dev/sda print
这会告诉你是什么东西出错了。如果没有出错,会给出分区信息。如果有不止一块硬盘,还可以运行
sudo parted /dev/sdb print
等等。8.10 之后,你可以用 sudo parted -l 来一次性得到所有硬盘的信息。
根据这些信息,你可以判断你的问题是下面的哪一种:
☛ 超出磁盘边界的分区,较常见,把超出磁盘的分区缩小即可。举例:
安装ubuntu8.04出现无法选择分区!
安装8.04出现的问题
☛ 扩展分区之内的主分区,这个最为常见,是“分区重叠”的一种。
如果不伴随着主分区之间重叠、逻辑分区之间重叠,或主分区和逻辑分区之间重叠,如果不重新安装操作系统,这样的分区表可以长期正常使用,不会造成数据丢失,但是要避免操作分区表。
要重装 ubuntu 的话,需要修理分区表。简单的办法是备份后删除误入扩展分区的主分区。动手前用 dd 备份一下主分区表也是很好的。好像有什么软件可以把主分区转换为逻辑分区,我没有用过,不知道好不好用。
我见到的分区表问题,绝大多数是这一类,一抓一大把。下面是几个例子。
[已解决]ubuntu Live CD能访问分区,但Gparted却认不出来,无法安装ubuntu了……
[已解决]Cannot Install Ubuntu 8.04
[已解决]菜鸟安装受挫!找不到硬盘分区!抓图寻求解决办法!!
[已解决][问题]分区表交错了该怎么解决?
☛ 扩展分区之外的逻辑分区
Ghost恢复xp,无法进系统了
GParted 显示未分配 终端提示分区之间不能重叠
这两贴还同时存在扩展分区之内的主分区。
☛ 真正的分区重叠,我指主分区之间重叠、逻辑分区之间重叠,或主分区和逻辑分区之间重叠,是危险的。数据随时可能丢失。当重叠的两个分区的前一个分区剩余空间较多时,数据还没有被写到重叠部分,看起来可以正常,一旦数据被写到重叠部分,就是下一个分区的起始处,那里有对于那个分区致命重要的信息,那个分区就完蛋了。如果那个分区是逻辑分区,那里还有指向再下一个逻辑分区的指针,于是逻辑分区的链被砍断,后面所有的逻辑分区丢失。
真正的分区重叠还是比较罕见的。下面有一例,除了主分区跑到扩展分区里面的这种“无害”的“分区重叠”之外(在下面帖子第二页),还有真正的分区重叠 - "c盘" 和 "d盘"重叠(在第三页):
光盘引导安装无法读出分区信息(已解决!)
☛ 循环的逻辑分区链,极为罕见:
双系统,ghost覆盖了win之后分区表出问题,求解决
☛ (安装过 OS X 可能发生的问题) 残留的 gpt 分区表标志,在曾经使用过 gpt 分区表的磁盘上用 xp 安装程序重新分区并不会抹去 gpt 标志,因为 xp 对 gpt 一无所知。
[求助] ubuntu 光盘安装不能识别已有分区
(已解决)光盘安装8.04无法显示分区,wubi安装提示找不到根分区目录
☛关于 OnTrackDM6。慎用古老的 DM。
安装Ubuntu 后出现Grub Geom error怎么办?
☛两个扩展分区。
硬盘分区问题
☛关于 SFS,M$ 的“动态磁盘”,我只能建议你备份数据抹掉这个硬盘。见本帖 85~89 楼。
☛一个逻辑分区侵占了另一个逻辑分区表的空间。通常 sudo fdisk -lu 的结果,相邻逻辑分区之间都有 64 扇区的空间,那里存放逻辑分区表们。
菜鸟安装受挫!找不到硬盘分区!
苹果,熊哥,三八,来救救我吧!分区问题。。。
这些错误是怎么产生的?我不大清楚,因为我的分区表还没有变成这样过。我的建议是尽量使用系统自带的工具来分区,xp 的磁盘管理,linux 的 gparted,OS X 的磁盘工具,都比较可靠。混用多种第三方分区工具多次调整分区可能不太好。
另外,打算安装 linux 的,不应该在 windows 里用可疑的工具准备 linux 的分区,用磁盘管理留出空白空间或者把分区格式化为 fat 就好了,在安装 linux 时让安装程序创建分区或格式化分区即可。如果预留给 linux 的空间位于两个分区之间,我更倾向于在 windows 中把预留给 linux 的分区大小规划好并先格式化为 fat,因为 ubuntu 在这样的空白空间创建分区的时候会使分区乱序。分区乱序不是错误,但 windows 一有机会就会试图把它排列整齐从而引起 grub 的问题。就是说,如果你的分区是乱序的,就永远不要使用 windows 的分区软件。
经常使用可疑分区工具的各种“高级功能”,我猜想也是引起问题的原因。我相信复杂的功能总是 bug 滋生的地方。比如挪动分区,如果软件处理不当,可以把逻辑分区挪到扩展分区之外;把主分区“转换”为逻辑分区,如果你成功地在一个主分区的两侧都制造出了逻辑分区,那么扩展分区必然要跨越一个主分区,等等。
最后由 billbear 编辑于 2010-05-02 0:05,总共编辑了 9 次
作者: billbear 发布时间: 2009-04-10
作者: leeaman 发布时间: 2009-04-10
作者: muzuiget 发布时间: 2009-04-10
作者: john.wu 发布时间: 2009-04-10
(RAYS 新华华镭,也是基于debian的发行版)的时候就遇到用gparted不能显示分区,后来用fdisk
分的区,安装ubuntu8.04的时候就没这个问题了,但fdisk一直是好的
作者: sdzzg 发布时间: 2009-04-10
作者: adagio 发布时间: 2009-04-10
作者: wangdu2002 发布时间: 2009-04-10
作者: cncjoy 发布时间: 2009-04-11
作者: nkeztt 发布时间: 2009-04-11
我用gpart预留的主分区安装xp时会蓝屏,用ghost版的才行,还没空折腾
作者: TeliuTe 发布时间: 2009-04-13
装xp时,不放心,还可以再把预设主分区再格一次。
作者: wangdu2002 发布时间: 2009-04-13
作者: cnkilior 发布时间: 2009-04-17
作者: drvicar 发布时间: 2009-04-17
作者: blue03 发布时间: 2009-04-17
作者: tgl3721 发布时间: 2009-04-18
ps:对ls说:sudo umount -l /isodevice 硬盘安装必须知道的命令
作者: pcbird 发布时间: 2009-04-18
作者: ptptptptptpt 发布时间: 2009-04-19
作者: fivewind 发布时间: 2009-04-21
ubuntu@ubuntu:~$ sudo parted /dev/sda prin
Error: /dev/sda: unrecognised disk label
ubuntu@ubuntu:~$ sudo parted -l
Error: /dev/sda: unrecognised disk label
Warning: Unable to open /dev/scd0 read-write (Read-only file system). /dev/scd0
has been opened read-only.
Error: /dev/scd0: unrecognised disk label
zen me jie jue a
作者: qq651086039 发布时间: 2009-04-21
ubuntu@ubuntu:~$ sudo parted /dev/sda prin
Error: /dev/sda: unrecognised disk label
ubuntu@ubuntu:~$ sudo parted -l
Error: /dev/sda: unrecognised disk label
Warning: Unable to open /dev/scd0 read-write (Read-only file system). /dev/scd0
has been opened read-only.
Error: /dev/scd0: unrecognised disk label
zen me jie jue a
机器上是否有 windows 或其它数据?你预期分区表应该是什么样的?能否提供关于问题发生的背景和历史的细节?
作者: billbear 发布时间: 2009-04-22
安装到90% 设定硬件 卡住了
花屏 然后重新进入桌面
作者: klame 发布时间: 2009-04-25
作者: blackiron 发布时间: 2009-04-29
作者: aidong 发布时间: 2009-04-29
============================= Boot Info Summary: ==============================
=> Windows is installed in the MBR of /dev/sda
sda1: _________________________________________________________________________
File system: ntfs
Boot sector type: Windows XP
Boot sector info: No errors found in the Boot Parameter Block.
Operating System: Windows XP
Boot files/dirs: /boot.ini /ntldr /NTDETECT.COM
sda2: _________________________________________________________________________
File system: Extended Partition
Boot sector type: -
Boot sector info:
sda5: _________________________________________________________________________
File system: ntfs
Boot sector type: Windows XP
Boot sector info: According to the info in the boot sector, sda5 starts
at sector 63.
Operating System:
Boot files/dirs:
sda3: _________________________________________________________________________
File system: vfat
Boot sector type: MSWIN4.1: Fat 32
Boot sector info: No errors found in the Boot Parameter Block.
Operating System:
Boot files/dirs:
=========================== Drive/Partition Info: =============================
Drive sda: _____________________________________________________________________
Disk /dev/sda: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders, total 117210240 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x1ecfb89b
Partition Boot Start End Size Id System
/dev/sda1 * 63 23,695,874 23,695,812 7 HPFS/NTFS
/dev/sda2 23,711,940 117,210,239 93,498,300 5 Extended
/dev/sda5 75,891,123 117,210,239 41,319,117 7 HPFS/NTFS
/dev/sda3 24,675,903 75,891,059 51,215,157 c W95 FAT32 (LBA)
/dev/sda2 overlaps with /dev/sda3
blkid -c /dev/null: ____________________________________________________________
/dev/loop0: TYPE="squashfs"
/dev/sda1: UUID="AA8002408002140B" TYPE="ntfs"
/dev/sda3: UUID="4274-CB77" TYPE="vfat"
/dev/sda5: UUID="80CC61C1CC61B258" TYPE="ntfs"
=============================== "mount" output: ===============================
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
tmpfs on /lib/modules/2.6.28-11-generic/volatile type tmpfs (rw,mode=0755)
tmpfs on /lib/modules/2.6.28-11-generic/volatile type tmpfs (rw,mode=0755)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
varrun on /var/run type tmpfs (rw,nosuid,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
rootfs on / type rootfs (rw)
/dev/sr0 on /cdrom type iso9660 (ro,noatime)
/dev/loop0 on /rofs type squashfs (ro,noatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/ubuntu/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=ubuntu)
/dev/sda3 on /media/disk type vfat (rw,nosuid,nodev,uhelper=hal,shortname=mixed,uid=999,utf8,umask=077,flush)
/dev/sda5 on /media/disk-1 type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096)
================================ sda1/boot.ini: ================================
[boot loader]
timeout=1
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /noexecute=optin /fastdetect
作者: jhon 发布时间: 2009-05-01
尚有另一个主分区 sda3 (你的 fat32)在扩展分区内。
作者: billbear 发布时间: 2009-05-02
看了回复,请问大牛有什么高招吗?难道只能把那个盘备份,删除。分区表应该可以移动前后位置的吧。
当然我回去google,不过如果linux下有什么好的方法的话,那还是希望能长点见识。
另,我看了我的数据,请问从哪里能看出来“尚有另一个主分区 sda3 (你的 fat32)在扩展分区内。”呢?
希望能知其果,更能知其因。
作者: jhon 发布时间: 2009-05-02
作者: 没概念 发布时间: 2009-05-02
作者: 没概念 发布时间: 2009-05-02
作者: xiaowei3731 发布时间: 2009-05-04
备份,删除,重建是最可靠的办法。修理分区表之前总是建议先备份,因为分区表已经乱了,不一定修成什么样呢。
我说过,我没有修理的经验,因为我的分区表没有坏过,我在那些帖子里给的建议全是根据分区规则进行的推理。
我也没有使用软件修理分区表的经验,一切只是听说 - 听说有把主分区转换成逻辑分区的冬冬,你可以试,但在试之前,我还会建议你备份数据先。
另:我对普及 linux 没兴趣。呵呵
/dev/sda2 23,711,940 117,210,239 93,498,300 5 Extended
/dev/sda5 75,891,123 117,210,239 41,319,117 7 HPFS/NTFS
/dev/sda3 24,675,903 75,891,059 51,215,157 c W95 FAT32 (LBA)
因为 [24675903,75891059]⊂[23711940,117210239]
最后由 billbear 编辑于 2009-05-06 1:41,总共编辑了 2 次
作者: billbear 发布时间: 2009-05-06
作者: jioyo源 发布时间: 2009-05-06
作者: jhon 发布时间: 2009-05-06
作者: xiaowei3731 发布时间: 2009-05-08
作者: 123826776 发布时间: 2009-05-11
作者: dark 发布时间: 2009-05-11
作者: eos 发布时间: 2009-05-12
作者: thiefqw 发布时间: 2009-05-14
作者: yysmcu 发布时间: 2009-05-14
作者: sToa 发布时间: 2009-05-27
作者: ilove86 发布时间: 2009-06-11
作者: ihatecr 发布时间: 2009-06-14
作者: 调兵虎符 发布时间: 2009-06-23
作者: yangquanhui 发布时间: 2009-06-26
所谓分区重叠,目前仅发现(可能会)存在于磁盘阵列的情形。这种情况下,可以在单盘的同样分区上写入文件甚至安装一套操作系统,而不破坏阵列磁盘在同样分区位置上的数据。说是可能,是因为没有去深入研究,不具有100%的复现性。
应该说,认不出分区,一方面可能是因为linux比较“严格”(严格忠于标准、忠于自己),另一方面可能是mbr部分写入了不规范或自己没能力认出的非严格的格式,或者光盘系统引导本身就与这部分有某种不明的兼容冲突。由于本人对linux引导等没有什么深入研究,但至少可以认为很大原因是因为linux的严格或者说linux缺少一定的兼容性。因为别的系统没发现该情况,该看见的都该看得见。
其实很早开始linux就不认其他系统分区,后来渐渐改良,就 有时候能看到有时候又不能看到。虽然这只是指分区的格式,但这已经很说明了问题。
作者: sheji 发布时间: 2009-06-28
拒绝一切系统写入mbr的行为,全部改为在分区上启动。这样对任何形式的破坏mbr的行为都可以轻易复原而不影响硬盘系统。用dos模式或者ntldr模式进入grub,再用grub来引导所有的系统。
作者: sheji 发布时间: 2009-06-28