当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 11 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 分区交错,看了billbear整理的千奇百怪的分区表错误后无解
帖子发表于 : 2013-04-23 20:06 
头像

注册: 2012-10-01 20:26
帖子: 10
系统: ubuntu
送出感谢: 0 次
接收感谢: 0 次
40G硬盘 坏道检测:无坏道

ubuntu 12.04

分区:
/dev/sda 1 / 主分区
/dev/sda2 扩展分区
/dev/sda6 swap swap
/dev/sda5 /home 逻辑分区

sudo fdisk -l

Disk /dev/sda: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders, total 78165360 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: 0x00030f7d

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 38086655 19042304 83 Linux
/dev/sda2 38088702 78163967 20037633 5 Extended
/dev/sda5 76165120 78163967 999424 82 Linux swap / Solaris
/dev/sda6 38088704 76165119 19038208 83 Linux


Partition table entries are not in disk order

分割磁区的位置顺序没有依照次序,这常发生于删除前面的分割磁区后又再次划分新的分割区所引起的问题

1)在win7下删除分区或格式化都出错
2)尝试了多种工具后都出现错误无法删除分区或格式化
3)在ubuntu live CD下 用fdisk删除分区出错


修复分区顺序:
ubuntu@ubuntu:~$ sudo fdisk /dev/sda

Command (m for help): m
Command action

x extra functionality (experts only)

Command (m for help): x

Expert command (m for help): m
Command action

f fix partition order


Expert command (m for help): f
Done.

Expert command (m for help): r

Command (m for help): p

Disk /dev/sda: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders, total 78165360 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: 0x00030f7d

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 38086655 19042304 83 Linux
/dev/sda2 38088702 78163967 20037633 5 Extended
/dev/sda5 38088704 76165119 19038208 83 Linux
/dev/sda6 76165120 78163967 999424 82 Linux swap / Solaris

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

Reboot 后分区依旧没变

在系统修改过的配置或删除数据 reboot后都会还原... :em06

硬盘报废??小白一枚


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 分区交错,看了billbear整理的千奇百怪的分区表错误后无解
帖子发表于 : 2013-04-25 22:35 
头像

注册: 2007-03-15 16:58
帖子: 2802
地址: 湖北武汉
送出感谢: 2
接收感谢: 4
这个错误一般开机的时候会自检


_________________
引用:


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 分区交错,看了billbear整理的千奇百怪的分区表错误后无解
帖子发表于 : 2013-04-25 22:58 
头像

注册: 2009-09-06 5:53
帖子: 4666
送出感谢: 6
接收感谢: 110
/dev/sda1 * 2048 38086655 19042304 83 Linux
/dev/sda2 38088702 78163967 20037633 5 Extended
/dev/sda5 76165120 78163967 999424 82 Linux swap / Solaris
/dev/sda6 38088704 76165119 19038208 83 Linux

分区重叠,看gparted或者fdsik能不能先删除sda5分区,先要swapoff。

1.先备份分区表:
代码:
sudo sfdisk -d /dev/sda > sda_table

把结果贴到论坛。
2.
代码:
sudo swapoff /dev/sda5
sudo gedit /etc/fstab

把swap那行删除
3.写零擦除mbr中的分区表。
代码:
dd if=/dev/zero of=/dev/sda bs=1 count=64 seek=446

4.
引用:
# partition table of /dev/sda
unit: sectors

/dev/sda1 : start= 63, size= 41945652, Id= 7, bootable
/dev/sda2 : start= 41945715, size= 62926605, Id= 7
/dev/sda3 : start=0, size= 0, Id= 0
/dev/sda4 : start=0, size=0, Id= 0
/dev/sda5 : start=167782923, size= 20964762, Id= b
/dev/sda6 : start=188747748, size= 37736622, Id=83


第1步中备份的分区表类似上面,注意,用你自己第1步的sda_table文件,把sda5那一行删除,把下一行的sda6改成sda5
从文本文件中恢复分区表:
代码:
sudo sfdisk /dev/sda < sda_table


5.新建swap分区,格式化,加入fstab文件中。


_________________
电子书下载:
鸟哥的Linux私房菜 基础学习篇 第三版 pdf
鸟哥的Linux私房菜 服务器架设篇 第三版 pdf


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 分区交错,看了billbear整理的千奇百怪的分区表错误后无解
帖子发表于 : 2013-04-29 1:49 
头像

注册: 2012-10-01 20:26
帖子: 10
系统: ubuntu
送出感谢: 0 次
接收感谢: 0 次
neoh@jiang-neoh:~$ sudo sfdisk -d /dev/sda > sda_table
[sudo] password for neoh:
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.

引用:
# partition table of /dev/sda
unit: sectors

/dev/sda1 : start= 2048, size= 38084608, Id=83, bootable
/dev/sda2 : start= 38088702, size= 40075266, Id= 5
/dev/sda3 : start= 0, size= 0, Id= 0
/dev/sda4 : start= 0, size= 0, Id= 0
/dev/sda5 : start= 76165120, size= 1998848, Id=82
/dev/sda6 : start= 38088704, size= 38076416, Id=83


代码:
sudo swapoff /dev/sda5
sudo gedit /etc/fstab

把swap那行删除

代码:
neoh@jiang-neoh:~$ sudo dd if=/dev/zero of=/dev/sda bs=1 count=64


引用:
seek=446
记录了64+0 的读入
记录了64+0 的写出
64字节(64 B)已复制,0.000307837 秒,208 kB/秒


把sda5那一行删除,把下一行的sda6改成sda5

代码:
sudo sfdisk /dev/sda < sda_table


引用:
BLKRRPART: 设备或资源忙

This disk is currently in use - repartitioning is probably a bad idea.
Umount all file systems, and swapoff all swap partitions on this disk.
Use the --no-reread flag to suppress this check.
Use the --force flag to overrule all checks.


在ubuntu CD 启动修改

ubuntu@ubuntu:~$ sudo sfdisk /dev/sda < sda_table


引用:
Checking that no-one is using this disk right now ...
OK

Disk /dev/sda: 4865 cylinders, 255 heads, 63 sectors/track
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Old situation:
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

Device Boot Start End #cyls #blocks Id System
/dev/sda1 * 0+ 2370- 2371- 19042304 83 Linux
/dev/sda2 2370+ 4865- 2495- 20037633 5 Extended
/dev/sda3 0 - 0 0 0 Empty
/dev/sda4 0 - 0 0 0 Empty
/dev/sda5 4741+ 4865- 125- 999424 82 Linux swap / Solaris
/dev/sda6 2370+ 4741- 2371- 19038208 83 Linux
New situation:
Units = sectors of 512 bytes, counting from 0

Device Boot Start End #sectors Id System
/dev/sda1 * 2048 38086655 38084608 83 Linux
/dev/sda2 38088702 78163967 40075266 5 Extended
/dev/sda3 0 - 0 0 Empty
/dev/sda4 0 - 0 0 Empty
/dev/sda5 38088704 76165119 38076416 83 Linux
Warning: partition 1 does not end at a cylinder boundary
Warning: partition 2 does not start at a cylinder boundary
Warning: partition 2 does not end at a cylinder boundary
Warning: partition 5 does not end at a cylinder boundary
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 分区交错,看了billbear整理的千奇百怪的分区表错误后无解
帖子发表于 : 2013-04-29 15:16 
头像

注册: 2012-10-01 20:26
帖子: 10
系统: ubuntu
送出感谢: 0 次
接收感谢: 0 次
执行
代码:
sudo dd if=/dev/zero of=/dev/sda bs=512 count=1

清空mbr所有分区信息 ,重启依旧
不需要保留什么分区,有没有办法把整个系统清了把硬盘格了?
在PE系统用了很多工具都没办法删除分区和格式化分区都报错。
:em20


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 分区交错,看了billbear整理的千奇百怪的分区表错误后无解
帖子发表于 : 2013-04-29 17:05 
头像

注册: 2009-09-06 5:53
帖子: 4666
送出感谢: 6
接收感谢: 110
硬盘坏了?


_________________
电子书下载:
鸟哥的Linux私房菜 基础学习篇 第三版 pdf
鸟哥的Linux私房菜 服务器架设篇 第三版 pdf


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 分区交错,看了billbear整理的千奇百怪的分区表错误后无解
帖子发表于 : 2013-04-29 17:09 
头像

注册: 2009-03-28 15:12
帖子: 7867
送出感谢: 2
接收感谢: 20
中毒?
硬盘保护?


_________________
Grub2 基础教程


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 分区交错,看了billbear整理的千奇百怪的分区表错误后无解
帖子发表于 : 2013-04-29 18:09 
头像

注册: 2012-10-01 20:26
帖子: 10
系统: ubuntu
送出感谢: 0 次
接收感谢: 0 次
之前坏道检测没检测出坏道

linux基本裸机没保护

可以进入系统工作正常,就是注销或关机后设置过的东西会不会保存

我是手提ubuntu12.04 从寒假用到现在,台式2块硬盘win7+ubuntu12.04
那个台式的ubuntu是寒假前装的寒假回去后就没用过,那时还没有这种情况,分区重叠,但数据可以保存。
最近想安装win8 在分区时出错之后就一直找解决方法。

硬盘坏了就算了,但这几天倒是学了挺多的。。。


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 分区交错,看了billbear整理的千奇百怪的分区表错误后无解
帖子发表于 : 2013-04-29 18:44 
头像

注册: 2009-03-28 15:12
帖子: 7867
送出感谢: 2
接收感谢: 20
可以低格试试


_________________
Grub2 基础教程


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 分区交错,看了billbear整理的千奇百怪的分区表错误后无解
帖子发表于 : 2013-04-29 20:49 
头像

注册: 2012-10-01 20:26
帖子: 10
系统: ubuntu
送出感谢: 0 次
接收感谢: 0 次
smallapple 写道:
可以低格试试

基本都试过了,就差DOS debug清MBR
:em06

想试试危险命令不知为什么 sudo rm rf/ 不能用


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 分区交错,看了billbear整理的千奇百怪的分区表错误后无解
帖子发表于 : 2013-04-29 21:33 
头像

注册: 2009-09-06 5:53
帖子: 4666
送出感谢: 6
接收感谢: 110
neoh 写道:
smallapple 写道:
可以低格试试

基本都试过了,就差DOS debug清MBR
:em06

想试试危险命令不知为什么 sudo rm rf/ 不能用

命令是这样的:
代码:
sudo rm -rf /

删除文件没用的,再怎么删除文件都是在某分区,某文件系统内部进行的,分区表在mbr和分区间隙,这条命令没用的。
按smallapple说的低格试试,格不过去到另一台机器再试试,不行就仍了吧。


_________________
电子书下载:
鸟哥的Linux私房菜 基础学习篇 第三版 pdf
鸟哥的Linux私房菜 服务器架设篇 第三版 pdf


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 11 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译