免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 1982 | 回复: 10
打印 上一主题 下一主题

[求助]关于文件分配表的问题.望朋友们指点迷津!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-02 22:49 |只看该作者 |倒序浏览
各位朋友你们好!
我从昨天才开始学习对Linux的文件系统实际操作.
在学习中误用一个命令[mkfs.ext3]导致当前硬盘的分区表丢失.因为我对Linux还不熟习.所以不能解决这个问题.上google搜索,由于概念不明确不能得到明确的信息.下边是整个过程.
1.我使用了这个命令:
#mkfs.ext3 /dev/hdb
系统提示这不是一个分区,而是一个整盘.问我是否强制执行.
我按了 'Y'.
从这以后,系统就开始显示 [N]/768 数字跳变,当时没有在意,我觉得是在格式化之类的. 执行完后的情况如下:
[root@localhost /]# fdisk -l

Disk /dev/hdb: 40.0 GB, 40037760000 bytes
255 heads, 63 sectors/track, 4867 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

[root@localhost /]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/hdb2 32G 2.4G 28G 8% /
none 62M 0 62M 0% /dev/shm
/dev/hdb1 4.9G 1.7G 3.3G 34% /mnt/c

[root@localhost /]# sfdisk -d

sfdisk: ERROR: sector 0 does not have an msdos signature
/dev/hdb: unrecognized partition
No partitions found
Warning: start=63 - this looks like a partition rather than
the entire disk. Using fdisk on it is probably meaningless.
[Use the --force option if you really want this]

通过上边几个命令.我自认为数据是没有丢失,只是分区表被破坏了.
而且MBR里边应该什么都没有.

这是/etc/fstab 的内容:
[root@localhost /]# more /etc/fstab
LABEL=/ / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hdb3 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,r
o 0 0

这是tune2fs -l /dev/hdb的结果.
[root@localhost /]# tune2fs -l /dev/hdb
tune2fs 1.32 (09-Nov-2002)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 2d7b8b3d-8919-408b-ac1d-78b377b94abc
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal filetype sparse_super
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 4889248
Block count: 9774843
Reserved block count: 488742
Free blocks: 9613201
Free inodes: 4889237
First block: 0
Block size: 4096
Fragment size: 4096
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 16352
Inode blocks per group: 511
Filesystem created: Wed Aug 2 15:34:33 2006
Last mount time: n/a
Last write time: Wed Aug 2 15:35:20 2006
Mount count: 0
Maximum mount count: 39
Last checked: Wed Aug 2 15:34:33 2006
Check interval: 15552000 (6 months)
Next check after: Mon Jan 29 15:34:33 2007
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
Journal UUID: <none>
Journal inode: 8
Journal device: 0x0000
First orphan inode: 0


这是tune2fs -l /dev/hdb2 的结果:

[root@localhost /]# tune2fs -l /dev/hdb2
tune2fs 1.32 (09-Nov-2002)
Filesystem volume name: /
Last mounted on: <not available>
Filesystem UUID: 45a6e07b-9c4c-4414-a42d-28d7884a9fe1
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal filetype needs_recovery sparse_super
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 4202464
Block count: 8393962
Reserved block count: 419698
Free blocks: 7645180
Free inodes: 4071212
First block: 0
Block size: 4096
Fragment size: 4096
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 16352
Inode blocks per group: 511
Filesystem created: Tue Jul 4 09:11:35 2006
Last mount time: Tue Aug 1 10:27:57 2006
Last write time: Tue Aug 1 21:05:19 2006
Mount count: 8
Maximum mount count: 10
Last checked: Fri Jul 21 00:07:18 2006
Check interval: 0 (<none>)
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
Journal UUID: <none>
Journal inode: 8
Journal device: 0x0000
First orphan inode: 0


该系统目前是正常运行..但是个人理解,重启后将导致引导失败..
请各位朋友帮忙分析一下.重启计算机后会不会导致引导失败.
如果会,那么现在应该怎样做.如果不会,那么为什么我现在的分区表是空的呢?

谢谢!!!


附机器情况:

[root@localhost /]# more /proc/version
Linux version 2.4.21-32.EL (bhcompile@tweety.build.redhat.com) (gcc version 3.2.3 20030502 (R
ed Hat Linux 3.2.3-52)) #1 Fri Apr 15 21:29:19 EDT 2005

论坛徽章:
0
2 [报告]
发表于 2006-08-02 22:50 |只看该作者
[root@localhost mnt]# umount /mnt/c
[root@localhost mnt]# mount -t vfat /dev/hdb1 /mnt/c
mount: wrong fs type, bad option, bad superblock on /dev/hdb1,
or too many mounted file systems

我刚才将先前挂载的hdb1.即vfat格式的分区卸载了.
然后再次挂载,系统就给出了"错误提示".

证明我的猜测是正确的.即文件分配表被破坏了.
最开始使用 mkfs.ext3 /dev/hdb 的时候由于当前硬盘的几个分区都是被挂载了.
由上边的df -lh 可以看到.
所以mkfs.ext3 只能把这个硬盘的分区表格式化了.其它的分区由于被系统占用,所以才没有被格式化掉..

诶,现在这个问题是弄明白.关键是怎样修复啊..

论坛徽章:
0
3 [报告]
发表于 2006-08-03 01:00 |只看该作者
给自己顶一下.希望有人看见.

论坛徽章:
0
4 [报告]
发表于 2006-08-03 08:35 |只看该作者
我再顶.不好意思哈.

论坛徽章:
0
5 [报告]
发表于 2006-08-03 09:45 |只看该作者
建议你下载一张linux live CD,linux 公社有下载,光驱启动,它能自动挂载分区,看情况如何,再来修复.

论坛徽章:
0
6 [报告]
发表于 2006-08-03 20:46 |只看该作者
终于有朋友说话了.
现在分区表都没有了.Linux live CD 能够识别没有分区表的硬盘上的分区??
如果能,请问怎样修复呢?给个大概方向和思路就可以了.谢谢!!

论坛徽章:
0
7 [报告]
发表于 2006-08-03 21:25 |只看该作者
不仅仅是分区表,而是整个硬盘的数据都丢失
mount /dev/hdb /mnt
估计就可以挂上

论坛徽章:
0
8 [报告]
发表于 2006-08-04 16:06 |只看该作者
No..
目前数据都在.确定是分区表被破坏了.
因为使用命令格式化的时候,所有的分区都挂载起的.是格式化不了的.所以只KIll分区表.

按你所说使用: mount /dev/hdb /mnt 结果是只有一个 lost+found  目录在....
就算能挂起.下次启动计算机呢?

论坛徽章:
0
9 [报告]
发表于 2006-08-05 14:02 |只看该作者
诶,只有重启了...

论坛徽章:
0
10 [报告]
发表于 2006-08-05 16:50 |只看该作者
原帖由 agaonet 于 2006-8-4 16:06 发表
No..
目前数据都在.确定是分区表被破坏了.
因为使用命令格式化的时候,所有的分区都挂载起的.是格式化不了的.所以只KIll分区表.

按你所说使用: mount /dev/hdb /mnt 结果是只有一个 lost+found  目录在....
...

你发现了lost+found目录,说明硬盘的数据被破坏了(挂载的分区数据状态不清楚),创建ext3系统时会创建lost+found
而mount /dev/hdb /mnt
其中/dev/hdb代表整个硬盘,不分区
重启估计不能引导
建议备份数据(如果还在),重新装系统或者找专门修复数据的厂商
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP