[求助]关于文件分配表的问题!!!
各位朋友你们好!我从昨天才开始学习对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 # 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 只能把这个硬盘的分区表格式化了.其它的分区由于被系统占用,所以才没有被格式化掉..
诶,现在这个问题是弄明白.关键是怎样修复啊.. 给自己顶一个. 不好意思再顶一个. 到目前为止,我的系统还是不敢重启....再顶一个. 好像没有好的办法,重装吧。
另外,这就是随便用root登录的后果。 分区表破坏。数据没掉。想办法恢复吧。没象你这样用个命令,所以具体怎么做没试过。上网查查吧。不然你用livecd启动想办法挂上看看。不过也不一定,也个命令具体怎么操作的不清楚。如果他在建立档案时先来个给你硬盘全部写0,来个七。八次。然后再建立时。数据很难恢复了。 都推荐俺用Linux live CD....
第一我还没有使用过,用的话就需要研究研究了.
第二如果启不来的话.我的数据就OVER了.
继续等待和搜寻答案中. 诶,只有重启了.. 诶,只有重启了..
结果如何?
其实要是数据真的丢失了,不重启也没用;要是没有丢失,重启也不会令它丢失。
页:
[1]