LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1074|回复: 6

发现df与fdisk -l输出的结果不一致的情况

[复制链接]
发表于 2010-9-20 22:06:07 | 显示全部楼层 |阅读模式
问题是这样出现:
最初安装Fedora 13时,硬盘(IDE)只是分了2个区:sda1,大约4G,挂载到"/".sda2,大约1G,作为交换分区.现在想换一个硬盘(也是IDE的),而不想重新再装一遍.所以先将新硬盘挂到主机上,作为第2个硬盘(sdb).用fdisk对它行分区:sdb1,大约7G,格式化为ext4格式(mkfs.ext4命令).sdb2,大约1G,格式化为交换分区(mkswap命令).

然后执行dd if=/dev/sda1 of=/dev/sdb1

运行完毕后,执行grub指令:
[root@test-bak ~]# grub
Probing devices to guess BIOS drives. This may take a long time.


    GNU GRUB  version 0.97  (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported.  For the first word, TAB
   lists possible command completions.  Anywhere else TAB lists the possible
   completions of a device/filename.]
grub> root (hd1,0)
root (hd1,0)
Filesystem type is ext2fs, partition type 0x83
grub> setup (hd1)
setup (hd1)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd1)"...  26 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd1) (hd1)1+26 p (hd1,0)/boot/grub/stage2 /boot/grub/grub.conf"... succeeded
Done.
grub>
将grub安装到新硬盘的mbr区.

关闭电脑,将旧的硬盘拆下来,只留新的硬盘并在主板上设成从它启动.开机后能正常启动并进入系统并登录,但是这个时候执行df与fdisk -l输出的结果就不一样了:
[root@test-bak ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1              4128448    604028   3314708  16% /
tmpfs                   254888         0    254888   0% /dev/shm
[root@test-bak ~]# fdisk -l

Disk /dev/sda: 20.5 GB, 20547841536 bytes
255 heads, 63 sectors/track, 2498 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        1045     8393931   83  Linux
/dev/sda2            1046        1212     1341427+  82  Linux swap / Solaris

fdisk -l说新硬盘的第一分区有7G的容量,而df却显示第一分区还是与旧的硬盘一样只到4G的容量.
请问一下为何会出现这样的情况?我能使用的空间到底是多少?不一致是否会对系统有不利的影响?
发表于 2010-9-20 23:59:35 | 显示全部楼层
哈哈,你也是第一次 clone 系统吧? dd 就这样,原来多大,dd后还是多大。也许有 参数可以控制,没深究过
建议用  cp -a 或  tar
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-9-21 13:38:54 | 显示全部楼层
Post by restfultiger;2113060
哈哈,你也是第一次 clone 系统吧? dd 就这样,原来多大,dd后还是多大。也许有 参数可以控制,没深究过
建议用  cp -a 或  tar

能否详细说明?我试过,将上面的步骤中的dd命令转成cp或tar不能启动系统.
回复 支持 反对

使用道具 举报

发表于 2010-9-21 15:40:23 | 显示全部楼层
Post by ito_oti;2113096
能否详细说明?我试过,将上面的步骤中的dd命令转成cp或tar不能启动系统.


Orz

这个……好像不是说让你把命令直接从dd改成tar的意思。dd是用来直接备份硬盘分区的,而cp/tar是备分系统的文件的,两者差的很多。如果不理解的话,建议先看看最基本的东西再说,不要急着做这些事情。
回复 支持 反对

使用道具 举报

发表于 2010-9-21 23:17:29 | 显示全部楼层
fdisk 看到的是分区表的信息,你的新硬盘的分区表在 MBR 上,是由分区时决定的。
df 看到的是文件系统的信息,也就是你通过 dd 过来的信息,这个信息是由最初格式化时决定的。由于 dd 是保持数据不变的,所以你看到的还是 4 G。
参考一下 resize2fs 你就知道原因了。
回复 支持 反对

使用道具 举报

发表于 2010-9-21 23:42:12 | 显示全部楼层
另找一个linux启动进去
mkdir /mnt/source
mount /dev/sda1  /mnt/source
mkdir /mnt/target
mount /dev/sdb1 /mnt/target
cp -av  /mnt/source/*  /mnt/target
再改 fstab  grub.conf
回复 支持 反对

使用道具 举报

发表于 2010-9-21 23:56:19 | 显示全部楼层
刚 搜了下 RSS ,d00m3d 老大有篇好帖子
http://www.linuxsir.cn/bbs/thread343284.html
我只讲了how 老大还解释了why,你看他的。关键要明白原则,至于 用rsync 还是 cp 反倒是次要的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表