sailors 发表于 2006-8-2 18:15:37

[求助]关于文件分配表的问题!!!

各位朋友你们好!
我从昨天才开始学习对Linux的文件系统实际操作.
在学习中误用一个命令导致当前硬盘的分区表丢失.因为我对Linux还不熟习.所以不能解决这个问题.上google搜索,由于概念不明确不能得到明确的信息.下边是整个过程.
1.我使用了这个命令:
#mkfs.ext3 /dev/hdb
系统提示这不是一个分区,而是一个整盘.问我是否强制执行.
我按了 'Y'.
从这以后,系统就开始显示 /768 数字跳变,当时没有在意,我觉得是在格式化之类的. 执行完后的情况如下:
# fdisk -l

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

# df -lh
Filesystem            SizeUsed Avail Use% Mounted on
/dev/hdb2            32G2.4G   28G   8% /
none                   62M   0   62M   0% /dev/shm
/dev/hdb1             4.9G1.7G3.3G34% /mnt/c

# 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.


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

这是/etc/fstab 的内容:
# more /etc/fstab
LABEL=/               /                     ext3    defaults      1 1
none                  /dev/pts                devptsgid=5,mode=6200 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的结果.
# 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 Aug2 15:34:33 2006
Last mount time:          n/a
Last write time:          Wed Aug2 15:35:20 2006
Mount count:            0
Maximum mount count:      39
Last checked:             Wed Aug2 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 的结果:

# 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 Jul4 09:11:35 2006
Last mount time:          Tue Aug1 10:27:57 2006
Last write time:          Tue Aug1 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


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

谢谢!!!


付机器情况:

# more /proc/version
Linux version 2.4.21-32.EL ([email protected]) (gcc version 3.2.3 20030502 (R
ed Hat Linux 3.2.3-52)) #1 Fri Apr 15 21:29:19 EDT 2005

sailors 发表于 2006-8-2 20:13:34

# umount /mnt/c
# 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 只能把这个硬盘的分区表格式化了.其它的分区由于被系统占用,所以才没有被格式化掉..

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

sailors 发表于 2006-8-2 23:24:45

给自己顶一个.

sailors 发表于 2006-8-3 08:42:27

不好意思再顶一个.

sailors 发表于 2006-8-3 20:42:52

到目前为止,我的系统还是不敢重启....再顶一个.

mandrakechina 发表于 2006-8-3 21:05:19

好像没有好的办法,重装吧。

另外,这就是随便用root登录的后果。

松心心 发表于 2006-8-3 22:55:18

分区表破坏。数据没掉。想办法恢复吧。没象你这样用个命令,所以具体怎么做没试过。上网查查吧。不然你用livecd启动想办法挂上看看。不过也不一定,也个命令具体怎么操作的不清楚。如果他在建立档案时先来个给你硬盘全部写0,来个七。八次。然后再建立时。数据很难恢复了。

sailors 发表于 2006-8-4 16:23:27

都推荐俺用Linux live CD....
第一我还没有使用过,用的话就需要研究研究了.
第二如果启不来的话.我的数据就OVER了.

继续等待和搜寻答案中.

sailors 发表于 2006-8-5 14:07:18

诶,只有重启了..

shadkong 发表于 2006-8-5 16:58:53

诶,只有重启了..
结果如何?

其实要是数据真的丢失了,不重启也没用;要是没有丢失,重启也不会令它丢失。
页: [1]
查看完整版本: [求助]关于文件分配表的问题!!!