当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 53 篇帖子 ]  前往页数 1, 2, 3, 4  下一页
作者 内容
1 楼 
 文章标题 : 硬盘操作指北
帖子发表于 : 2006-02-04 15:02 
头像

注册: 2005-06-21 20:24
帖子: 715
地址: 甘肃
送出感谢: 0 次
接收感谢: 0 次
前几天在写《从头优化ubuntu》的时候就想把这里的内容写上,但是考虑到对硬盘的操作实在为危险系数过高,必须说的十分详细,所以把这一部分单另出来。而我自己对硬盘的操作次数其实也很少,仅仅是把自己使用linux以来积累的方法与大家分享。

第一部分 查看硬盘上的状态

硬盘上有些什么、文件们都有多大,在有些时候我们是需要关心的,所以这里简单介绍两个命令:df、du。

df:
df用来检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 df的参数有:
代码:
-a             显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。
-k             以k字节为单位显示。
-i             显示i节点信息,而不是磁盘块。
-t             显示各指定类型的文件系统的磁盘空间使用情况。
-x             列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。
-T             显示文件系统类型。

对df命令进行详解:
引用:
dongmh@home:~$ df
Filesystem 1K-块 已用 可用 已用% 挂载点
/dev/sda12 3842376 242424 3404764 7% /

这个就是最基本用法,你可能觉得奇怪已用和可用加在一起不等于前面的块的总值,这是因为默认状况下,有留给root的专门用于维护管理的保留空间,不用在意。其他的用法无非是加上不同的参数显示不同的信息,不再反复说明。

du:
du用于统计目录或文件所占磁盘空间的大小。 它的参数如下:
代码:
-s            对每个Names参数只给出占用的数据块总数。
-a             递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-b             以字节为单位列出磁盘空间使用情况(系统缺省以k字节为单位)。
-k             以1024字节为单位列出磁盘空间使用情况。
-c             最后再加上一个总计(系统缺省设置)。
-l             计算所有的文件大小,对硬链接文件,则计算多次。
-x             跳过在不同文件系统上的目录不予统计。

这个命令也如同df一样简单,因为特殊缘故所以不举例,大家可以自己试下,很刷屏的。

第二部分 分区

在一个有win的电脑上,分区无疑是一件很简单的事。使用分区魔术师,对硬盘可以进行分区、合并、调整大小,所以大多数和我一样电脑上先有win的朋友在分区方面一定不用愁,整理下数据,空出几个分区,然后在ubuntu安装的时候就可以利用安装程序分好区,以后就没有什么可担忧的了,但是某些朋友因为某些需要,必须利用linux操作系统进行分区,那么以下的内容也许能有点价值。

首先谈谈基础知识,一个硬盘可以划分4个区,3个主要分区,一个扩展分区,而扩展分区里可以划分n个逻辑分区,扩展分区本身不能储存任何东西,也不能格式化成某种文件系统,只能用于区分逻辑分区。

我们主要应用的命令有三个:fdisk、cfdisk、gparted。其中前两个命令在breezy中已经安装好了,如果你需要gparted的话是需要另外安装的,我们的源里有,安装方法:
代码:
sudo apt-get install gparted

这三个软件的不同之处主要在于直观性、易用性,fdisk可以说最难用,而cfdisk有了字符的界面,gparted则有了基于gnome的更漂亮的界面,从功能的角度上来说三个软件都差不多,但是有时不得不使用fdisk,这里我对三个软件的使用进行一定的说明:

fdisk:
代码:
sudo fdisk -l

会列出所有硬盘之实体使用情况。
代码:
sudo fdisk -l /dev/hda

会列出第一快IDE硬盘的使用情况,响应的来讲可以换用/dev/sda等等。
代码:
sudo fdisk /dev/hda

进入硬盘分区模式,进入这个模式后所有操作不会立刻生效,只会在得到确认的命令后才会起作用。
代码:
m            显示所有命令提示。
p            现实硬盘分区情况。
a            设定硬盘起动区。
n            设定新的硬盘分区。
l            列出所有文件系统类型。
e            在输入n的情况下才能用,指增加一个扩展分区。
p            在输入n的情况下才能用,指增加一个主要分区。
l            在输入n的情况下才能用,指增加一个逻辑分区。
t            改变硬盘分区属性。
d            删除硬盘分区。
q            结束但不对硬盘进行修改。
w            结束而且对硬盘进行修改。

现在对fdisk的结果进行详解,以下是在我的电脑上运行的例子:
引用:
dongmh@home:~$ sudo fdisk -l /dev/hda

Disk /dev/hda: 60.0 GB, 60022480896 bytes
255 heads, 63 sectors/track, 7297 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 1276 10249438+ 7 HPFS/NTFS
/dev/hda2 1277 7297 48363682+ f W95 Ext'd (LBA)
/dev/hda5 1277 2551 10241406 7 HPFS/NTFS
/dev/hda6 2552 3835 10313698+ 7 HPFS/NTFS
/dev/hda7 3836 3957 979933+ 82 Linux swap / Solaris
/dev/hda8 3958 4261 2441848+ 83 Linux
/dev/hda9 4262 4869 4883728+ 83 Linux
/dev/hda10 4870 7297 19502878+ 83 Linux

上面的提示表示,我的硬盘有60G,255个磁面,63个扇区,7297个磁柱;每个磁柱容量是8225280 Byte 大约是8225KB或者8MB。

Device Boot Start End Blocks Id System
分区序列 引导 开始 终止 容量 分区类型ID 分区类型

引导 表示引导分区,在上面的例子中 hda1 是引导分区;
开始 表示的一个分区从X cylinder(磁柱)开始;
结束 表示一个分区到 Y cylinder(磁柱)结束;

然后进入分区模式:
引用:
dongmh@home:~$ sudo fdisk /dev/hda

The number of cylinders for this disk is set to 7297.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help):

上面的提示大概的意思就是我的硬盘大于1024个磁柱所以呢,老板本的lilo会不买我的帐,可以不用在意。
我们先尝试命令d
引用:
Command (m for help): d
Partition number (1-10):

它问你要删除哪个分区,一定要注意,如果删了扩展分区,那么所有逻辑分区一块跟着挂,一定要小心。
我输入7,再输入p就可以看到自己的硬盘分区少了一个。
接下来我添加一个逻辑分区:
引用:
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (3836-7297, default 3836):3836
Last cylinder or +size or +sizeM or +sizeK (3836-3957, default 3957): 3957

这里的两个问题是,开始的磁柱是哪个,结束的磁柱是哪个。在结束的磁柱处可以用+sizeM +sizeK来输入。
然后是对分区类型的改变,我输入t:
引用:
Command (m for help): t
Partition number (1-10): 7
Hex code (type L to list codes): L

输入L可以看到所有磁盘的文件类型列列表,然后再从输入相应的文件系统ID就可以对分区文件系统进行更改了。
最后如果需要保存就输入w,不许要则输入q,这样分区修改就算结束了。

cfdisk、gparted:
cfdisk有非常直观的界面,而gparted甚至是中文的,所以这里我就不再多作介绍。

第三部分 格式化

分完区还不算完事,格式化后才能正常使用,这里介绍下linux的格式化命令:
代码:
sudo mkfs -t 文件系统 存储设备

格式化就是这么简单,或者也可一这样输入命令:
代码:
sudo mkfs.ext3 /dev/sda6      把该设备格式化成ext3文件系统。
sudo mke2fs -j /dev/sda6      把该设备格式化成ext3文件系统。
sudo mkfs.ext2 /dev/sda6      把该设备格式化成ext2文件系统。
sudo mke2fs /dev/sda6       把该设备格式化成ext2文件系统。
sudo mkfs.reiserfs /dev/sda6    把该设备格式化成reiserfs文件系统。
sudo mkfs.vfat /dev/sda6      把该设备格式化成fat32文件系统。
sudo mkfs.msdos /dev/sda6      把该设备格式化成fat16文件系统,msdos文件系统就是fat16。
sudo mkdosfs /dev/sda6      把该设备格式化成fat16文件系统,同mkfs.msdos
sudo mkswap /dev/sda6       把该设备格式化成swap文件系统。

这样分好区,并且格式化结束,就可以进行挂载了。

第四部分 挂载文件系统

挂载文件系统有两个方法,一种是利用mount命令,另外一种是修改/etc/fstab,因为修改/etc/fstab并不方便,所以我只介绍mount。mount命令的用法如下:
代码:
sudo mount [-t 文件系统 ] [-o 选项] 设备 目录

使用这个命令前需要先生成一个用于被挂的目录,创建了这样的目录后有个细节问题就是更改这个目录的权限,最起码要你可读写,这样才能使你挂载的硬盘可读写,当然ntfs的硬盘除外。
代码:
chmod 777 目录

而挂载时,也有可以省事的地方,比如说你不知道你的分区是什么文件类型你可以:
代码:
sudo mount -t auto  设备 目录

或者也可以:
代码:
sudo mount  设备 目录

顺便说下swap分区,一般不这样挂载,而采用加载命令进行加载:
代码:
sudo  swapon 设备

相应的也就产生了:
代码:
sudo swapoff  设备


第五部分 对文件系统进行扫描

各位朋友对Windows中的scandisk不寞生吧,在Linux中就有类似这样的工具fsck,不过fsck 可不仅仅是扫描,还能修正文件系统的一些问题。一定要注意的是fsck 扫描文件系统时一定要在修复模式或把设备umount后进行,否则会有重大的问题发生。
其中fsck 默认支持文件系统ext2,如果想支持ext3文件系统的扫描,应该加-j 参数,最好是我们应该根据不同的文件系统来调用不同的扫描工具,比如 fsck.ext2,fsck.jfs,fsck.msdos,fsck.ext3,fsck.reiserfs。
对于fsck.ext2和fsck.ext3有几个常用参数,如下:
代码:
-p            自动修复文件系统存在的问题;
-y            如果文件系统有问题,会跳出提示是否修复,如果修复请按y;
-c            对文件系统进行坏块检查;这是一个极为漫长的过程;
-n            不对文件系统做任何改变,只要扫描,以检测是否有问题;

那么使用它的方法就是:
代码:
sudo fsck.ext3 -p /dev/hda6


第六部分 结语

任何对硬盘操作都是有危险的,千万不要随便练手,在可能的情况下尽量使用带有界面的gparted,不到万不得已不要随便格式化。这是为了你的数据和硬盘寿命着想。
本文中如果有错误请一定提出,我努力修改。


_________________
ubuntu 6.06
我是初学者 大家多多关照


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2006-02-04 19:09 
头像

注册: 2005-07-11 17:37
帖子: 336
地址: 浙江
送出感谢: 0 次
接收感谢: 0 次
恩,好文。硬盘操作的确比较危险,原来试过一次结果硬盘变得超慢,只能重装系统 :(


_________________
ubuntu 5.10 +windowsxpsp2
HP NX6120
PM1.6+512M DDR333+915GM+40G HD+Combo

Life is Struggle!


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-01-11 16:07 

注册: 2006-07-07 12:31
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
好文,收藏了。


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-07-20 13:51 

注册: 2007-04-11 19:05
帖子: 83
送出感谢: 0 次
接收感谢: 0 次
支持


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-08-03 23:04 
头像

注册: 2007-06-27 16:35
帖子: 212
地址: 深圳
送出感谢: 0 次
接收感谢: 0 次
学习一下


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2007-08-15 21:41 

注册: 2007-08-03 20:29
帖子: 16
送出感谢: 1
接收感谢: 0 次
我新装的 ub 分区/ /boot /home /date 用 mount 可以看见分区都在 on 可是 在桌面上没有 位置 查看 也没看见 四个分区 就看见了 file 请问 是怎么 回事呢 我的数据怎么写进去/date 分区呢 ?


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2007-08-16 11:58 

注册: 2007-08-16 10:56
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
装双系统时怎么挂载ntfs格式的分区呀


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2007-08-16 12:45 

注册: 2006-12-14 3:00
帖子: 614
送出感谢: 0 次
接收感谢: 0 次
mark


_________________
提问的智慧


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2007-09-05 13:15 

注册: 2007-09-02 0:06
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
太棒了,正是我需要的,学习中


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2007-09-14 6:53 
头像

注册: 2007-07-17 22:52
帖子: 661
地址: cn,shandong
送出感谢: 0 次
接收感谢: 0 次
谢谢楼主!


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2007-09-14 9:58 

注册: 2007-04-26 19:51
帖子: 77
送出感谢: 0 次
接收感谢: 0 次
linux系统中只有一个分区
怎么扫描它阿,应该是不能卸载了再扫描吧
莫非要用软盘启动?


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2007-10-25 9:14 
头像

注册: 2007-08-31 8:09
帖子: 63
送出感谢: 0 次
接收感谢: 0 次
很好,很有帮助,谢谢


页首
 用户资料  
 
13 楼 
 文章标题 :
帖子发表于 : 2007-10-27 20:51 
头像

注册: 2007-10-12 8:43
帖子: 98
送出感谢: 0 次
接收感谢: 0 次
是非常好的文章,这贴子要顶起来!
:lol: :lol: :lol: :lol: :lol: :lol:


页首
 用户资料  
 
14 楼 
 文章标题 :
帖子发表于 : 2007-12-02 17:28 

注册: 2007-12-01 13:11
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
好文章顶一下


页首
 用户资料  
 
15 楼 
 文章标题 :
帖子发表于 : 2007-12-02 22:32 
头像

注册: 2007-11-10 23:33
帖子: 49
送出感谢: 0 次
接收感谢: 0 次
学习学习。。。。。。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 53 篇帖子 ]  前往页数 1, 2, 3, 4  下一页

当前时区为 UTC + 8 小时


在线用户

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


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

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

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