linux的fdisk功能还真是强大,还可以做到无损坏合并分区。原文链接: http://bbs.linuxsir.org/showthread.php?p=1040419#post1040419 作者: LinuxSir: ailantian fdisk居然也可以用来合并分区,不丢失数据:) 同学的电脑以前的分区表是这样的 c盘5G,ntfs d盘,fat32 e盘,fat32 f盘,fat32 放假之前,征得同学同意以后,把c盘删除,用sarge盘安装debian,把c盘划分成两个 分区,一个是根分区,4.5G,一个是swap是400M,剩下的空间没有改变, 放假的时候在他的电脑上用debian,他的机器是amd2400,ati9550,nforce2 放假以后同学回来了,所以要改回来装windows xp,同学有ghost,所以装系统是很 方便的,不过主要是解决分区的问题,本来这个问题是很好解决的,只要用windows xp 的盘把linux分区删除,就可以了,或者用linux自己带的fdisk就可以,linux是 很强的,比如同学的linux是装在hda1的,但是系统正在运行的时候,就可以把正在运行 的系统删除掉,也可以把这个系统的分区删除,windows是无论如何也做不到的, 我就是直接用fdisk删除的,本来cfdisk是好一些的,可以算半图形界面,但是这个时候 发现cfdisk读不出来分区表了,换了好几张盘都读不出来分区表,比如sarge,woody, gentoo livecd,所带的cfdisk都读不出来了,只能用fdisk,直接把这个分区删除了 分区情况是这样的 hda1 1-584 hda2 585-4866 hda5 585-638 hda6 1914-3188 hda7 3189-4866 分区表有些乱了,以前的c盘是主分区,ntfs,5G,后来装linux的时候一分为二, swap分成了逻辑分区,所以到了hda2里面了,后来想装回windows的时候,发现这两个 分区弄不到一起了,用partion magic,各个版本,中文,英文,6.0,8.0都不行, 提示分区表有错误,修复不了,所以就多出来一个分区了,不过这个分区只有400M 怎么也合并不到一起,同学把windows xp ghost恢复到了原来的hda1,swap的空间 又重新建了一个分区,不过同学还是希望把这两个分区合并到一起 我也不敢动手修改分区表,这几天同学把所有的数据都备份到别人的电脑上以后,我才 动手,修改,先还是用sarge的盘,认不出分区表来,换woody的盘,在到分区表那里 还是不行,所以我换到第二个窗口(crtl+alt+F2),是字符界面的, 用fdisk, fdisk /dev/hda 我把所有的分区都删除了,然后重建 d是删除分区,n是新建分区, 我新建的分区是这样的,主要就是改成和原来一样的,柱面你记不住,但是分区大小 应该能记住吧,比如我一看就知道我的情况是,现在的hda1 和hda5是以前的c盘, 剩下的hda6,hda7,另外还有一个分区识别不出来,是以前的d,e,f,盘,这样就够了 所有的分区都d掉以后,新建一个分区,p,主分区,1,第一个分区,起始柱面是1, 结束柱面是637, 然后再建一个分区,类型是e,表示extended,有提示的,起始柱面是638 结束柱面,就是最后一个了,因为同学只有这两个主分区, 然后再建其他的分区,就是以前的d,e,f,盘 起始和结束柱面就是 638-1913 1914-3188 3189-4866 这样就可以了,然后就可以写入了,不过如果你不放心,可以p看一下分区表,确认一下再写入 w是写入, 写入以后就可以退出了, 然后就是改变文件系统的类型, 现在c,d,e,f盘都是linux分区,我们还要改变成windows分区, 我用的是cfdisk,这个就可以了,现在可以读分区表了, 然后选中一个分区,比如hda1,是以前的c盘,ntfs的,我们选中hda1以后,用tab键 移动到type,改变成ntfs/hpfs,就可以了,好像是05,记住这个就可以了, 其他的盘,hda5,hda6 ,hda7,以前都是fat32的,所以只要改成win95 fat32(LBA)就可以 了, 然后就是重新启动了, 本来以为fdisk以后,硬盘里面的数据都丢光了的,不过我还是用livecd看了看, 结果发现数据居然都还在, 我用的是gentoo的livecd,启动参数是smp, 进入以后, mkdir win1 mount /dev/hda5 win1 -t vfat 进入一看,原来数据还在,我把其他的分区都挂起来一看,数据都还在, 后来想看看c盘,c盘是ntfs的,我怕不支持,试了一下,发现是可以的 mkdir winc mount /dev/hda1 winc -t ntfs c盘的数据居然也还在,这个盘现在的数据是以前的两个盘合并来的 后来我想,系统是不是能启动起来呢,重新启动以后,发现原来系统也还是可以启动的 真是手里捏了一把汗,同学的数据备份了也没有用:) 不过最好还是先备份数据,我以前丢过数据,心疼死了,所以现在每次动分区表都小心翼翼的 ------------------------------------------------------------------------ 总结一下,就是用fdisk改分区表信息,修改盘的起始和结束柱面, 然后用cfdisk改分区的类型,比如fat32(LBA) 然后重新启动就可以了 另外大家也可以尝试diskgen,可以修复分区表,不过要好长的时间来扫描 注:HPFS/NTFS分区标号是07 (责任编辑:IT) |