当前位置: 新豪天地登录网址 > www.3559.com > 正文

www.3559.comLinux硬盘分区对存储设备的分区,备份你

时间:2019-11-03 18:41来源:www.3559.com
原标题:无需格式化就可以转换文件系统 lub ( Live UbuntuBackup)。目前的版本是 2.2,新增支持 9.10 和 grub2。 下载 lub.zip 并解压,然后拷贝到 /usr/local/bin 里面就可以了。(要用 sudocp) 常见

原标题:无需格式化就可以转换文件系统

lub ( Live Ubuntu Backup)。目前的版本是 2.2,新增支持 9.10 和 grub2。
下载 lub.zip 并解压,然后拷贝到 /usr/local/bin 里面就可以了。(要用 sudo cp)

常见的文件系统

特别值得一提的是Linux硬盘分区有很多值得学习的地方,这里我们主要介绍Linux硬盘分区,包括介绍Linux硬盘分区等方面。如果您想添加一个新的分区,或者增加一个新的硬盘,您要通过分区工具来添加分区,然后要创建分区的文件系统,然后才是挂载文件系统;比如通过mount 加载,或者通过修改 /etc/fstab来开机自动加载;

很少有人知道他们可以将文件系统从一种类型转换为另一种类型而不会丢失数据(即非破坏性的)。这可能听起来像魔术,但 Fstransform[1] 可以几乎以任意组合将 ext2、ext3、ext4、jfs、reiserfs 或 xfs 分区转换成另一类型。更重要的是,它可以直接执行,而无需格式化或复制数据。除此之外,还有一点好处:Fstransform 也可以处理 ntfs、btrfs、fat 和 exfat 分区。

把需要备份的系统启动起来,然后在终端输入
sudo lub -b
按照指示进行就可以了。(注意要先安装 lupin-casper 等,脚本会提示你)

Linux文件系统: ext2, ext3, ext4, xfs, btrfs, reiserfs, jfs, swap

本文总有一部份是您想要的;比如在新的分区上创建文件系统,如何挂载;如何卸载文件系统或者设备比如cdrom )等;我建您最好通读本文,然后根据自己的需要再做选择性实践;

在运行之前

在备份目录会产生用于直接启动备份映像的内核和菜单文件等,看备份目录里的示例菜单就明白了。

swap: 交换分区

Linux硬盘分区的一个小问题涉及的很多方面的知识,有时一篇文档是难以说清楚;我为了尽可能详细解说每一个过程,所以把分区工具、创建文件系统工具、查看文件系统的工具分开来说,主要是让初学者比较容易理解。

Fstransform 存在一些警告和限制,因此强烈建议在尝试转换之前进行备份。此外,使用 Fstransform 时需要注意一些限制:

恢复过程必须要先从备份文件引导到 live 环境里,然后在终端执行
sudo lub -r
按照指示进行就可以了。

光盘:iso9660

一、对存储设备的分区;

  • 你的 Linux 内核必须支持源文件系统和目标文件系统。听起来很明显,如果你想使用 ext2、ext3、ext4、reiserfs、jfs 和 xfs 分区,这样不会出现风险。Fedora 支持所有分区,所以没问题。
  • 将 ext2 升级到 ext3 或 ext4 不需要 Fstransform。请使用 Tune2fs。
  • 源文件系统的设备必须至少有 5% 的可用空间。
  • 你需要在开始之前卸载源文件系统。
  • 源文件系统存储的数据越多,转换的时间就越长。实际速度取决于你的设备,但预计它大约为每分钟 1GB。大量的硬链接也会降低转换速度。
  • 虽然 Fstransform 被证明是稳定的,但请备份源文件系统上的数据。

用 lub -h 可以查看帮助文档和版本信息。

Windows:fat32, ntfs

我们这里所指的存储设备主要是本地硬盘、移动硬盘比如USB 和1394接口的硬盘);由于磁盘很大并且为了满足我们各种需要,所以把硬盘分成若干个分区;比如我们可以用这个分区来安装Linux硬盘分区系统,那个分区用来安装Windows系统... ... ;这点小事大家都明白;

安装说明

2.2 双语版,支持 grub2
下载lub.zip

Unix: FFS, UFS, JFS2

至于如何在 Linux硬盘分区中进行Linux硬盘分区硬盘分区操作,我们推荐您用 fdisk ,目前看来也是最好用的分区工具;其它工具比如parted 和cfdisk在某一方面有点优点,但这些优点可能为大家带来一些方便 。

Fstransform 已经是 Fedora 的一部分。使用以下命令安装:

1.2 英文版,存档留底
下载lub.sh.zip

网络文件系统:NFS, CIFS

比如 parted中的数据备份功能,这个功能对老手来说可能是优点,但对新手来说,的确是有风险的;所以我们还是推荐您用 fdisk 分区工具; fdisk 的使用说明: 请参考:《实例解说 fdisk 使用方法》

sudo dnf install fstransform

帮助文档:用 lub -h 查看

集群文件系统:GFS2, OCFS2

二、存储设备进行格式化,即建立文件系统的过程;

转换

代码:

分布式文件系统:ceph, moosefs, mogilefs, GlusterFS, Lustre

1、文件系统的一点介绍

www.3559.com 1

ubuntu@ubuntu-laptop:~$ lub -h
live ubuntu backup, 作者 billbear
本程序将帮助你备份运行中的 ubuntu 系统为一个可启动的 squashfs 压缩备份文件。
要恢复的时候, 从备份文件启动并再次运行本程序。
可以把备份文件恢复到另一台机器。
可以把虚拟机里的 ubuntu 迁移到真机。
可以把 wubi 安装的系统迁移到真分区。

实验环境CentOS7.2 

我们对存储设备分区还是远远不够的,我们还要对这些新增分区进行格式化;一个分区只有建立了某种文件系统后,这个分区才能使用;建立文件系统过程,就是用相应格式化工具格式化分区的过程,这个过程和我们在Windows中格式化某个分区为NTFS分区类似;

fstransform 命令的语法非常简单:fstransform <源设备> <目标文件系统>。请记住,它需要 root 权限才能运行,所以不要忘记在开头添加 sudo。这是一个例子:

安装:
只要拷贝此脚本到任何地方并赋予执行权限即可。
我喜欢把它放在 /usr/local/bin 里面, 这样每次运行的时候就不用写绝对路径了。

Linux根据其是否支持"journal"功能:

没有什么高深的内容,只是所用的工具不一样罢了;在Linux硬盘分区操作系统中,目前几乎支持目前主流的文件系统,比如NTFS只读)、FAT可读可写)、ext2、ext3、reiserfs、hfs (MAC 操作系统的文件系统)、swap 交换分区... ... 还有一些咱们不熟悉的操作系统的文件系统等;

sudo fstransform /dev/sdb1 ext4

使用:
sudo 到此脚本的路径 -b
是备份,而
sudo 到此脚本的路径 -r
是恢复。
也可以用
sudo bash 到此脚本的路径 -b

sudo bash 到此脚本的路径 -r

日志型文件系统: ext3, ext4, xfs, ...

在Linux硬盘分区中,我们常用的文件系统无非是上面例出的这些;如果您新增了一个硬盘,可能想格式化成 Linux硬盘分区的文件系统,最佳选择是 reiserfs 或ext3;目前ext2已被 ext3取代;我们不推荐用ext2文件系统,ext2的使用风险比较大;速度最快的文件系统,当属reiserfs;reiserfs 还有很多优点,比如更安全;

请注意,无法转换根文件系统,这是一种安全措施。请改用测试分区或实验性 USB 盘。与此同时,Fstransform 会在控制台中有许多辅助输出。最有用的部分是预计完成时间,让你随时了解该过程需要多长时间。同样,在几乎空的驱动器上的几个小文件将使 Fstransform 在一分钟左右完成其工作,而更多真实世界的任务可能需要数小时的等待时间。

注意不能用
sudo sh 到此脚本的路径 -b

sudo sh 到此脚本的路径 -r

非日志型文件系统: ext2, vfat

ext3是Redhat认为最好的文件系统,所以在Fedora 4.0在安装时,特地为reiserfs 的选择弄出点麻烦;相对来说reiserfs还是比ext3要优秀;如果想深入学习文件系统的,您可以到官方论坛找相应的资料,最好是实践实践;

更多支持的文件系统

备份:
程序依赖 squashfs-tools 来工作。
另外必须安装 lupin-casper 才能做出可启动的备份来。
在终端用如下命令来安装它们:
sudo apt-get install squashfs-tools lupin-casper
而后就可以用这样的命令来备份运行中的 ubuntu 系统了:
sudo 到此脚本的路径 -b
如果这个脚本在 /usr/local/bin, 只要这样
sudo lub -b
然后根据提示进行就可以了。
你可以指定存放备份的路径, 以及需要排除的文件和目录。
不必卸载移动硬盘, windows 分区, 或任何你手动挂载了的分区。它们将会自动被忽略。
因此你可以直接存放备份到移动硬盘, windows 分区等等。
小心: 你必须确定有足够的空间来存放备份。
脚本将会生成启动所需的另外几个文件。
阅读在备份存放目录生成的 menu.lst,里面会详细告诉你如何从备份文件直接启动。

Linux的文件系统的组成部分:

2、格式化工具介绍和使用;

如上所述,可以尝试在 ntfs、btrfs、fat 和 exfat 分区使用 Fstransform。这些类型是早期实验性的,没有人能保证完美转换。尽管如此,还是有许多成功案例,你可以通过在测试分区上使用示例数据集测试 Fstransform 来添加自己的成功案例。可以使用 --force-untested-file-systems 参数启用这些额外的文件系统:

恢复:
阅读在备份存放目录生成的 menu.lst,里面会详细告诉你如何从备份文件直接启动。
启动了 live ubuntu backup 之后, 打开一个终端输入
sudo 到此脚本的路径 -r
如果在备份时已经把此脚本放到了 /usr/local/bin, 现在只需敲入
sudo lub -r
并根据提示进行恢复就可以了。
注意:此脚本并不提供分区功能(只能格式化分区但不能创建,删除分区或调整分区大小)。
只能恢复备份到已有的分区。
因此建议在备份前安装 gparted,这样恢复时你就有分区工具可用了。
另外如果分区表有错误, 将不允许恢复备份,直到错误被修复。
你可以指定若干分区和它们的挂载点。
如果没有 swap 分区, 可以为你创建一个 swap 文件 (如果你这样要求的话)。
会自动生成新的 fstab 并安装 grub。
如果有必要, 还可以改变主机名, 用户名和密码。

内核中的模块:ext4, xfs, vfat

以fedora 4.0为例,我们常用的工具mkfs mkfs.ext3 mkfs.reiserfs mkfs.ext2 mkfs.msdos mkfs.vfat mkswap 提示:如果您不能创建reiserfs 文件系统,也就是说没有mkfs.reiserfs 或者mkreiserfs 命令,是您没有安装reiserfs-utils工具包,请参考:《让Fedora 支持创建reiserfs 文件系统,以及创建reiserfs文件系统的一点说明》

sudo fstransform /dev/sdb1 ntfs --force-untested-file-systems

备份系统必须在系统正在运行的状态下。
输入 sudo lub -b 根据提示进行。

用户空间的管理工具:mkfs.ext4, mkfs.xfs, mkfs.vfat

1)mkfs的使用;使用方法:[[email protected] beinan]# mkfs -t 文件系统 存储设备

有时,该过程可能会因错误而中断。请放心再次执行命令 —— 它可能最终会在两、三次尝试后完成转换。返回搜狐,查看更多

代码:

在正式介绍文件系统的前先说一下创建文件系统之前的格式化问题。

注:这里的文件系统是要指定的,比如 ext3 ;reiserfs ;ext2 ;fat32 ;msdos 等... ...设备比如是一个硬盘的分区,软盘,光驱等.. ... 在格式化分区之前,您得懂得如何查看硬盘分区情况,并有针对性的格式化;比如用 fdisk -l 来查看;

责任编辑:

ubuntu@ubuntu-laptop:~$ sudo lub -b
将要备份系统。建议退出其他程序。继续?(y/n)
y
指定一个空目录 (绝对路径) 来存放备份。可以从 Nautilus 文件管理器拖放目录至此。可以使用移动硬盘。
如果不指定, 将会存放到 /home/ubuntu/backup-20090524

格式化

请参考:《Linux硬盘分区 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍》 比如我想格式化一个移动U盘中的一个分区;全景应该是

指定需要排除的文件/目录, 一行写一个。可以从 Nautilus 文件管理器拖放至此。以空行结束。

低级格式化:硬件制造商、分区之前划分磁道,形成簇 磁盘出厂前由厂家完成

:[[email protected] beinan]# fdisk -l   Disk /dev/hda: 80.0 GB, 80026361856 bytes  255 heads, 63 sectors/track, 9729 cylinders  Units = cylinders of 16065 * 512 = 8225280 bytes  Device Boot      Start End      Blocks   Id System  /dev/hda1   *   1 765     6144831    7 HPFS/NTFS  /dev/hda2     7662805    16386300    c W95 FAT32 (LBA)  /dev/hda3    28069729    55617030    5 Extended  /dev/hda5    28063825     8193118  83 Linux硬盘分区  /dev/hda6    38265100    10241406   83 Linux硬盘分区  /dev/hda7    51015198      787153  82 Linux硬盘分区 swap / Solaris  /dev/hda8    51996657    11719386   83 Linux硬盘分区  /dev/hda9    66587751     8787523  83 Linux硬盘分区  /dev/hda10   77529729    15888253  83 Linux硬盘分区  Disk /dev/sda: 1035 MB, 1035730944 bytes  256 heads, 63 sectors/track, 125 cylinders  Units = cylinders of 16128 * 512 = 8257536 bytes  Device Boot      Start End      Blocks   Id System  /dev/sda1       1  25      201568  83 Linux硬盘分区  /dev/sda2      26 125      806400    5 Extended  /dev/sda5      26  50      201568  83 Linux硬盘分区  /dev/sda6      51  76      200781     83 Linux硬盘分区   

开始备份?(y/n)
y
Parallel mksquashfs: Using 1 processor
Creating little endian 3.1 filesystem on /home/ubuntu/backup-20090524/backup20090524.squashfs, block size

高级格式化:分区之后对分区进行,创建文件系统

我们可以看到有sda这个设备,所以可以用 fdisk -l /dev/sda专门来显示他的分区情况;比如我想格式化 /dev/sda6 分区为 ext3文件系统,则为:

  1. [=========================================================== ] 92925/93032  99%File /tmp/bind/var/log/ConsoleKit/history changed size while reading filesystem, attempting to re-read
    [=========================================================== ] 92930/93032  99%File /tmp/bind/var/log/auth.log changed size while reading filesystem, attempting to re-read
    [=========================================================== ] 93001/93032  99%File /tmp/bind/var/log/messages changed size while reading filesystem, attempting to re-read
    [=========================================================== ] 93006/93032  99%File /tmp/bind/var/log/syslog changed size while reading filesystem, attempting to re-read
    [=========================================================== ] 93013/93032  99%File /tmp/bind/var/log/user.log changed size while reading filesystem, attempting to re-read
    [============================================================] 93032/93032 100%
    Exportable Little endian filesystem, data block size 131072, compressed data, compressed metadata, compressed fragments, duplicates are removed
    Filesystem size 789719.00 Kbytes (771.21 Mbytes)
       40.17% of uncompressed filesystem size (1966107.66 Kbytes)
    Inode table size 1155385 bytes (1128.31 Kbytes)
       29.20% of uncompressed inode table size (3957443 bytes)
    Directory table size 1113938 bytes (1087.83 Kbytes)
       46.99% of uncompressed directory table size (2370406 bytes)
    Number of duplicate files found 8348
    Number of inodes 115900
    Number of files 87876
    Number of fragments 6597
    Number of symbolic links  14964
    Number of device nodes 95
    Number of fifo nodes 3
    Number of socket nodes 35
    Number of directories 12927
    Number of uids 14
       root (0)
       syslog (101)
       ubuntu (1000)
       daemon (1)
       polkituser (109)
       libuuid (100)
       lp (7)
       man (6)
       avahi-autoipd (104)
       gdm (105)
       news (9)
       messagebus (108)
       hplip (103)
       klog (102)
    Number of gids 29
       video (44)
       audio (29)
       tty (5)
       kmem (15)
       disk (6)
       adm (4)
       daemon (1)
       dip (30)
       lp (7)
       fuse (104)
       shadow (42)
       ssl-cert (105)
       messagebus (117)
       crontab (107)
       mail (8)
       lpadmin (106)
       mlocate (108)
       utmp (43)
       ssh (109)
       games (60)
       polkituser (118)
       root (0)
       staff (50)
       libuuid (101)
       src (40)
       admin (121)
       avahi-autoipd (110)
       gdm (111)
       klog (103)
    已备份至 /home/ubuntu/backup-20090524。请阅读里面的 menu.lst :)

每种操作系统所设置的文件属性/权限不相同,为了存放这些所需的数据

[[email protected] beinan]# mkfs -t ext3 /dev/sda6  mke2fs 1.37 (21-Mar-2005)  Filesystem label=  OS type: Linux硬盘分区  Block size=1024 (log=0)  Fragment size=1024 (log=0)  50200 inodes, 200780 blocks  10039 blocks (5.00%) reserved for the super user  First data block=1 Maximum filesystem blocks=67371008 25 block groups  8192 blocks per group, 8192 fragments per group  2008 inodes per group  Superblock backups stored on blocks:  8193, 24577, 40961, 57345, 73729  Writing inode tables: done  Creating journal (4096 blocks): done  Writing superblocks and filesystem accounting information: 注:在这里直接回车;  done  This filesystem will be automatically checked every 26 mounts or  180 days, whichever comes first. Use tune2fs -c or -i to override.   

看看备份出来的东西。除了备份文件本身,还有内核等用于直接启动:

我们常说的重装系统及格式化都是属于高级格式化层面的。本文所说的文件系统均为高级格式化后的产物。 

这样就格式化好了,sda6现在就是ext3文件系统了;我们就可以用mount 加载这个分区,然后使用这个文件系统;

代码:

Linux文件系统管理工具

[[email protected] beinan]# mkdir /mnt/sda6   [[email protected] beinan]# chmod 777 /mnt/sda6   [[email protected] beinan]# mount /dev/sda6   /mnt/sda6  

ubuntu@ubuntu-laptop:~$ ls /home/ubuntu/backup-20090524/
backup20090524.squashfs       menu.lst
initrd.img-2.6.28-11-generic  vmlinuz-2.6.28-11-generic

blkid:块设备属性信息查看

当然您也可以把分区格式化成其它的文件系统;比如我们把 /dev/sda6格式化为ext3 、ext2、reiserfs、fat32、msdos 文件系统,命令格式如下;

看看怎么启动备份文件-都写在 menu.lst 的注释里了。
注:
可以把备份都放在内置硬盘启动;
可以把备份都放在移动硬盘,从移动硬盘启动;
也可以把内核放在内置硬盘,squashfs 放在移动硬盘,从内置硬盘引导内核启动移动硬盘的备份)

命令使用格式:blkid [OPTION]... [DEVICE]

[[email protected] beinan]# mkfs -t ext3 /dev/sda6   [[email protected] beinan]# mkfs -t ext2 /dev/sda6  [[email protected] beinan]# mkfs -t reiserfs /dev/sda6  [[email protected] beinan]# mkfs -t fat32   /dev/sda6  [[email protected] beinan]# mkfs -t msdos   /dev/sda6 

代码:

    -U UUID: 根据指定的UUID来查找对应的设备

... ...

ubuntu@ubuntu-laptop:~$ cat /home/ubuntu/backup-20090524/menu.lst
# 这个 menu.lst 是给 grub4dos 用的。稍作修改才能用于 gnu grub

    -L LABEL:根据指定的LABEL来查找对应的设备

2)mkfs.ext3 mkfs.reiserfs mkfs.ext2 mkfs.msdos mkfs.vfat mke2fs 的介绍;
我们先说了一个mkfs 工具后,我们再来介绍 mkfs.ext3 mkfs.reiserfs mkfs.ext2 mkdosfs mkfs.msdos mkfs.vfat ,其实mkfs 在执行的命令的时候,也是调用的这个工具,这也是我先把mkfs介绍的主要原因;通过文件名,我们就知道这些工具是支持什么文件系统;这些命令为我们提供了更多的方便;

# 如何在 windows 机器上直接启动你的 backup20090524.squashfs:
# 从 下载最新的 grub4dos
# 解压下载的 grub4dos, 并拷贝其中的 grldr 和 grldr.mbr 到 c: 盘根目录
# 把这个 menu.lst 也拷贝到 c: 盘根目录
# 然后在任意分区根目录建立一个 "casper" 目录并拷贝 backup20090524.squashfs, initrd.img-2.6.28-11-generic, vmlinuz-2.6.28-11-generic 到它里面
# 接着添加下面这行文字到 boot.ini 末尾 (不包含#号)
# c:grldr.mbr="grub4dos"
##### 对于 Windows Vista, 可以自行建立一个 boot.ini 文件,写上:
##### [boot loader]
##### [operating systems]
##### c:grldr.mbr="grub4dos"
# 重启选择 grub4dos 即可

命令演示

[[email protected] beinan]# mkfs.ext3    /dev/sda6     注:把该设备格式化成ext3文件系统  [[email protected] beinan]# mke2fs -j   /dev/sda6       注:把该设备格式化成ext3文件系统  [[email protected] beinan]# mkfs.ext2 /dev/sda6       注:把该设备格式化成ext2文件系统  [email protected] beinan]# mke2fs    /dev/sda6  注:把该设备格式化成ext2文件系统   [[email protected] beinan]# mkfs.reiserfs /dev/sda6   注:把该设备格式化成reiserfs文件系统  [[email protected] beinan]# mkfs.vfat   /dev/sda6注:把该设备格式化成fat32文件系统  [[email protected] beinan]# mkfs.msdos   /dev/sda6   注:把该设备格式化成fat16文件系统,msdos文件系统就是fat16;  [[email protected] beinan]# mkdosfs   /dev/sda6 注:把该设备格式化成fat16文件系统,同mkfs.msdos   ... ...  

# 如何在 linux 机器上直接启动你的 backup20090524.squashfs:
# 在任意分区根目录建立一个 "casper" 文件夹 (注意 gnu grub 不能读取 NTFS, 因此不能把 casper 放在那里) 并拷贝 backup20090524.squashfs, initrd.img-2.6.28-11-generic, vmlinuz-2.6.28-11-generic 到它里面
# 然后拷贝下面的两个 Live Ubuntu Backup 启动项到 /boot/grub/menu.lst 末尾并把 "find --set-root" 行改为 "root (hd?,?)" (你创建 "casper" 文件夹的那个分区)

1
2
3
4
[root@localhost ~]# blkid /dev/sda1
/dev/sda1: UUID="6efb8a23-bae1-427c-ab10-3caca95250b1" TYPE="xfs" 
[root@localhost ~]# blkid -U 6efb8a23-bae1-427c-ab10-3caca95250b1 
/dev/sda1

2)mkswap 把一个分区格式化成为swap交换区;

default   0
timeout 10

…………………………………………………………………………………………………………

[[email protected] beinan]# mkswap /dev/sda6 注:创建此分区为swap 交换分区   [[email protected] beinan]# swapon /dev/sda6 注:加载交换分区;  [[email protected] beinan]# swapoff /dev/sda6 注:关闭交换分区;  我们查看系统已经加载的swap交换分区;   [[email protected] beinan]# swapon /dev/sda6 注:加载交换分区;  [[email protected] beinan]# swapon -s  FilenameType    Size    Used    Priority  /dev/hda7       partition       787144 0       -1  /dev/sda6       partition       225144 0       -3  <code> 

title Live Ubuntu Backup 20090524
find --set-root /casper/vmlinuz-2.6.28-11-generic
kernel /casper/vmlinuz-2.6.28-11-generic boot=casper ro ignore_uuid
initrd /casper/initrd.img-2.6.28-11-generic

mkfs:文件系统创建工具:

为什么我的系统有两个交换分区?因为我用移动U盘做的实验,主要是为写教程之用;sda6是我在U盘上建的swap分区;如果让swap开机就加载,应该改 /etc/fstab文件,加类似如下一行;<code>/dev/sda6 swap    swap    defaults0 0 注:把此行中的/dev/hda7 改为您的交换分区就行;或者把命令行直接写入 /etc/rc.d/rc.local中也行;

title Live Ubuntu Backup 20090524, Recovery Mode
find --set-root /casper/vmlinuz-2.6.28-11-generic
kernel /casper/vmlinuz-2.6.28-11-generic boot=casper ro single ignore_uuid
initrd /casper/initrd.img-2.6.28-11-generic
ubuntu@ubuntu-laptop:~$

mkfs

swapon /dev/sda6 如果您的硬盘不能再分区,您可以创建一个swap文件[[email protected] beinan]# dd if=/dev/zero of=/tmp/swap bs=1024 count=524288 注:创建一个大小为512M 的swap 文件,在/tmp目录中;您可以根据自己的需要的大小来创建swap 文件;

要恢复,最好应该先把备份文件启动起来。在其他环境恢复备份,不能预料可否成功。当然,用同版本的 livecd 引导恢复我们的备份理论上应该成功。下面是启动了备份文件之后进行的恢复操作(其实也可以叫做安装)

  • build a Linux filesystem
读入了 524288 0 个块  输出了 524288 0 个块  [[email protected] beinan]# mkswap /tmp/swap 注:把/tmp/swap 文件,创建成swap 交换区   Setting up swapspace version 1, size = 536866 kB  no label, UUID=d9d8645d-92cb-4d33-b36e-075bb0a2e278  [[email protected] beinan]# swapon /tmp/swap   注:挂载swap   [[email protected] beinan]# swapon -s  Filename Type Size Used Priority  /dev/hda7 partition 787144 888 -1  /tmp/swap file 524280 0 -2 

代码:

命令使用格式:

注意:其实我们在安装系统的时候,就已经划分了交换分区;查看/etc/fstab,应该swap的行;如果您在安装系统时没有添加swap,可以通过这种办法来添加;

ubuntu@ubuntu:~$ sudo lub -r
将恢复你的备份。继续? (y/n)
y
指定 squashfs 备份文件 (绝对路径)。可以从 Nautilus 文件管理器拖放。如果你是从备份的 squashfs 启动的, 直接回车即可, 将会使用本次启动的 squashfs 文件。

1、 mkfs [options] [-t type]  device [size]

三、挂载文件系统;

将哪个分区作为 / ?
1) /dev/sda1 ntfs  5198MB      5) /dev/sda7 swap  625MB
2) /dev/sda10 swap  280MB      6) /dev/sda8 jfs  1464MB
3) /dev/sda5 reiserfs  206MB   7) /dev/sda9 ext2  1291MB
4) /dev/sda6 reiserfs  6087MB  8) /dev/sdb1 vfat  8015MB
#? 4
你选择的是 /dev/sda6, 里面现有这些文件/目录:
bin   cdrom  etc   initrd.img  media  opt   root  selinux  sys   usr  vmlinuz
boot  dev    home  lib          mnt    proc  sbin  srv      tmp   var
确定?(y/n)
y
是否格式化此分区?(y/n)
y
格式化 /dev/sda6 为:
1) ext2
2) ext3
3) ext4
4) reiserfs
5) jfs
6) xfs
#? 3
将哪个分区作为 swap ?
1) /dev/sda1 ntfs  5198MB        6) /dev/sda8 jfs  1464MB
2) /dev/sda10 swap  280MB        7) /dev/sda9 ext2  1291MB
3) /dev/sda5 reiserfs  206MB     8) /dev/sdb1 vfat  8015MB
4)                        9) 无
5) /dev/sda7 swap  625MB        10) 无,并结束分区设定。
#? 7
你选择的是 /dev/sda9, 里面现有这些文件/目录:
lost found
确定?(y/n)
y
/dev/sda9 将被格式化为 swap.
将哪个分区作为 /home ?
1) /dev/sda1 ntfs  5198MB        6) /dev/sda8 jfs  1464MB
2) /dev/sda10 swap  280MB        7)
3) /dev/sda5 reiserfs  206MB     8) /dev/sdb1 vfat  8015MB
4)                        9) 无
5) /dev/sda7 swap  625MB        10) 无,并结束分区设定。
#? 6
你选择的是 /dev/sda8, 里面现有这些文件/目录:
billbear
确定?(y/n)
y
是否格式化此分区?(y/n)
y
格式化 /dev/sda8 为:
1) ext2
2) ext3
3) ext4
4) reiserfs
5) jfs
6) xfs
#? 6
将哪个分区作为 /boot ?
1) /dev/sda1 ntfs  5198MB        6)
2) /dev/sda10 swap  280MB        7)
3) /dev/sda5 reiserfs  206MB     8) /dev/sdb1 vfat  8015MB
4)                        9) 无
5) /dev/sda7 swap  625MB        10) 无,并结束分区设定。
#? 3
你选择的是 /dev/sda5, 里面现有这些文件/目录:
abi-2.6.28-11-generic         memtest86 .bin
config-2.6.28-11-generic      System.map-2.6.28-11-generic
grub               vmcoreinfo-2.6.28-11-generic
initrd.img-2.6.28-11-generic  vmlinuz-2.6.28-11-generic
确定?(y/n)
y
是否格式化此分区?(y/n)
y
格式化 /dev/sda5 为:
1) ext2
2) ext3
3) ext4
4) reiserfs
5) jfs
6) xfs
#? 1
将哪个分区作为 /tmp ?
1) /dev/sda1 ntfs  5198MB        6)
2) /dev/sda10 swap  280MB        7)
3)                            8) /dev/sdb1 vfat  8015MB
4)                        9) 无
5) /dev/sda7 swap  625MB        10) 无,并结束分区设定。
#? 10
开始格式化分区 (如果有需要格式化的分区的话)。继续? (y/n)
y
正在格式化 /dev/sda6
Done

    [ -t type] :指定要创建的文件系统类型ext4|xfs|btrfs|vfat|...|]

挂载文件系统,目前有两种方法,一是通过 mount 来挂载,另一种方法是通过/etc/fstab文件来开机自动挂载;

正在格式化 /dev/sda8
Done

    [options]:-L 'LABEL': 设定卷标 在创建文件系统同时指定卷标。

1、通过mount 来挂载磁盘分区或存储设备)mount的用法其实也简单,我们说几个常用的;

正在格式化 /dev/sda5
Done

              -f 若文件系统已存在,强制覆盖

挂载文件系统的命令格式:

正在格式化 /dev/sda9
Setting up swapspace version 1, size = 1261064 KiB
no label, UUID=a3491a9c-8226-4a29-bcf7-608b5a4e553f
Done

命令演示

[[email protected] beinan]# mount [-t 文件系统 ] [-o 选项] 设备 目录注: -t 通过这个参数,我们来指定文件系统的类型,一般的情况下不必指定有时也能识加,-t 后面跟 ext3 、ext2 、reiserfs、vfat 、ntfs 等。

如果你为目标系统安排了其他分区, 现在打开另一个终端并挂载它们在 /tmp/target 下合适的地方。完成后回车。

[root@localhost ~]# mkfs -L 'new1' -t ext4 /dev/sdb5

其中 vfat 是fat32和fat16分区文件系统所所用的参数;如果您忘记了文件系统,也可以在-t 后面加auto ; -o 这个选项,主要选项有权限、用户、磁盘限额、语言编码等,但语言编码的选项,大多用于vfat和ntfs文件系统;由于选项太多,还是请您看看 man mount ;这里不多说;

把 GRUB stage1 安装到哪里?
建议安装到 /dev/sda 或 /dev/sda5
1) /dev/sda,MBR             6) /dev/sda7,swap
2) /dev/sdb,MBR             7) /dev/sda8,xfs
3) /dev/sda10,swap          8) /dev/sda9,swap
4) /dev/sda5,ext2           9) /dev/sdb1,vfat
5) /dev/sda6,ext4           10) 不安装(不推荐)
#? 1
将马上开始恢复。继续?(y/n)
y
......
输入新的主机名。留空将使用旧的主机名。
旧的主机名: ubuntu-laptop
新的主机名:
billbear-pc
是否改变用户名 ubuntu? (y/n)
y
新的用户名:
billbear
是否改变用户 billbear 的密码? (y/n)
y
输入新的 UNIX 口令:
重新输入新的 UNIX 口令:
passwd:已成功更新密码
如果刚才的密码改变不成功, 你还有机会。是否再次改变用户 billbear 的密码? (y/n)
n
搞定了 :)
ubuntu@ubuntu:~$

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=new1
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks: 
        8193, 24577, 40961, 57345, 73729
Allocating group tables: 完成                           
正在写入inode表: 完成                           
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 
[root@localhost ~]# blkid /dev/sdb5
/dev/sdb5: LABEL="new1" UUID="10880486-7ad9-43de-9607-f9bc1fda1edf" TYPE="ext4"

设备 指存储设备,比如/dev/hda1, /dev/sda1 ,cdrom 等...至于您的系统中有哪些存储设备,主要通过 fdisk -l 或者查看 /etc/fstab 或 dmesg ;一般的情况下光驱设备是/dev/cdrom ;软驱设备是/dev/fd0 ;硬盘及移动硬盘以 fdisk -l 的输出为准;

www.3559.com 2

…………………………………………………………………………………………………………

1)对光驱和软驱的挂载;

2、 mkfs.FS_TYPE /dev/DEVICE

举例:
[[email protected] beinan]# mount /dev/cdrom
[[email protected] beinan]# mount /dev/fd0
第一行是mount 光驱,至于mount 到哪了,我们可以通过查看 /etc/fstab来查看;同理软驱/dev/fd0设备也是如此;比如我们在/etc/fstab
/dev/hdc/media/cdrecorder       auto    users,exec,noauto,managed 0 0
我们可以肯定的是光盘被mount 到了 /media/cdrecorder 目录;但我们也可以自己来指定cdrom 挂载的位置 ;比如 /mnt/cdrom ,所以我们也可以这样来挂载光驱;
[[email protected] beinan]#mkdir /mnt/cdrom
[[email protected] beinan]# mount /dev/cdrom /mnt/cdrom

 FS_TPYE:ext4、xfs、btrfs、vfat...

我们先建一个目录,然后执行mount 命令,这样cdrom 就挂在 /mnt/cdrom 中了;我们就可以在/mnt/cdrom 中查看光盘中资料和文件;这个目录您想怎么建就怎么建。用什么目录不是最重要的。重要的是您知道自己在做什么就行了。

命令演示

比如我们也可以把这个目录建成 dvdrom ;然后用 mount /dev/cdrom /mnt/dvdrom 来挂载;有时我们的设备是COMBO的,有支持dvd cd 还能支持刻录的;我们最好查一下光驱设备的,主要有两个方法,一是通过查看 /etc/fstab ,二是通过ls -l 来查看;比如我们在/etc/fstab中查看到类似下面的一行;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@localhost ~]# mkfs.xfs -L 'new2' /dev/sdb6       
mkfs.xfs: /dev/sdb6 appears to contain an existing filesystem (ext3).
mkfs.xfs: Use the -f option to force overwrite.
[root@localhost ~]# mkfs.xfs -f -L 'new2' /dev/sdb6
meta-data=/dev/sdb6              isize=256    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# blkid /dev/sdb6
/dev/sdb6: LABEL="new2" UUID="ed636bf6-1cee-43d1-96e2-8baa8dc29087" TYPE="xfs"

/dev/hdc/media/cdrecorder       auto    users,exec,noauto,managed 0 0通过这个,我们能知道hdc 就是cdrom 也是dvdrom的设备 ,更是 cdrecorder的设备;为了验证我们的说法;请用ls -l 来列文件;

若/dev/sdb# 指定的磁盘块已经存在文件系统,执行命令mkfs会失败,若加-f,则强制将原文件系统覆盖。慎用-f。

[[email protected] beinan]# ls -lh /dev/dvd*  lrwxrwxrwx 1 root root 3 2005-09-13 /dev/dvd -> hdc  [[email protected] beinan]# ls -lh /dev/cdrom  lrwxrwxrwx 1 root root 3 2005-09-13 /dev/cdrom -> hdc  [[email protected] beinan]# ls -lh /dev/cdwriter  lrwxrwxrwx 1 root root 3 2005-09-13 /dev/cdwriter -> hdc 

…………………………………………………………………………………………………………

这不一目了然了吗?dvd 、cdrom 、cdwriter 的文件名都链接到了hdc这个设备,所以光驱设备根源就是/dev/hdc ;所以我们也可以这样挂载光驱;

mke2fs:ext系列文件系统专用管理工具

[[email protected] beinan]# mkdir /mnt/cdrom   [[email protected] beinan]# mount /dev/hdc   /mnt/cdrom  

mke2fs

2)挂载硬盘和移动硬盘的文件系统;一个分区只有创建了文件系统后才能使用,前面我们说过了,我们在Linux硬盘分区大多用的是ext2 、ext3、reiserfs、fat32、msdos 、ntfs等;

  • create an ext2/ext3/ext4 filesystem

[1]挂载Linux硬盘分区文件系统;
对于ext2 、ext3 、reiserfs 不需要指定文件系统的编码,其实mount 也没有这个功能;这些Linux硬盘分区文件系统,如果出现编码问题,一般是通过export LANG来指定;所以挂载这些文件系统比较简单;首先我们得建一个文件系统挂载的目录;我们前面已经提到了;

    -t {ext2|ext3|ext4}指明要创建的文件系统类型

一个有文件系统的分区要挂到系统中,必须要有一个挂载点;这个挂载点就是一个目录;比如我们通过fdisk -l 得知hda5 是Linux硬盘分区分区,并且创建了文件系统,比如是reiserfs 文件系统吧; [[email protected] beinan]# fdisk -l /dev/hda

    -b {1024|2048|4096}指明文件系统的块大小

Disk /dev/hda: 80.0 GB, 80026361856 bytes  255 heads, 63 sectors/track, 9729 cylinders  Units = cylinders of 16065 * 512 = 8225280 bytes   Device Boot      Start End      Blocks   Id System  /dev/hda1   *   1 765     6144831    7 HPFS/NTFS  /dev/hda2     7662805    16386300    c W95 FAT32 (LBA)  /dev/hda3    28069729    55617030    5 Extended  /dev/hda5    28063825     8193118  83 Linux硬盘分区  /dev/hda6    38265100    10241406   83 Linux硬盘分区  /dev/hda7    51015198      787153  82 Linux硬盘分区 swap / Solaris  /dev/hda8    51996657    11719386   83 Linux硬盘分区  /dev/hda9    66587751     8787523  83 Linux硬盘分区  /dev/hda10   77529729    15888253  83 Linux硬盘分区  我们先用fdisk -l 来查看一下分区情况:我们想要挂载/dev/hda5分区,比如hda5分区创建的是reiserfs文件系统;  

    -L 'LABEL'指明卷标

[[email protected] beinan]# mkdir /mnt/hda5/   注:先创建一个挂载目录;
[[email protected] beinan]# chmod 777 /mnt/hda5/    注:设置/mnt/hda5的权限为任何用户可写可读可执行;这样所有的用户都能在写入;
[[email protected] beinan]# mount -t reiserfs /dev/hda5 /mnt/hda5    注:通过-t reiserfs 来指定/dev/hda5是reiserfs 文件系统, 并且挂载到/mnt/hda5目录;
[[email protected] beinan]# mount -t auto   /dev/hda5 /mnt/hda5   注:假如我们不知道hda5上reiserfs 文件系统,我们可以用 -t auto 让系统定夺,然后挂载到/mnt/hda5 ;
[[email protected] beinan]# mount /dev/hda5 /mnt/hda5   注:不加任何参数,直接 mount   /dev/hda5 到/mnt/hda5;系统自动判断分区文件系统;
是不是被挂载了,我们通过df -lh 来查看;

    -j: 创建有日志功能的文件系统ext3

[[email protected] beinan]# df -lh  Filesystem    容量 已用 可用 已用% 挂载点  /dev/hda8      11G 8.5G 1.9G 83% /  /dev/shm      236M     0 236M   0% /dev/shm  /dev/hda10     16G 6.9G 8.3G 46% /mnt/hda10  /dev/hda5     7.9G 5.8G 2.1G 74% /mnt/hda5 

mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3

[2]挂载Windows文件系统;
请参考: 《在Fedora core 4.0 加载NTFS和FAT32分区详述》
3)卸载文件系统umount ;

    -i #: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小;

命令用法: [[email protected] beinan]# umount 设备或挂载目录

    -N #:为数据空间创建个多少个inode;

举例:

    -m #: 为管理人员预留的空间占据的百分比;

[[email protected] beinan]# mount -t auto /dev/hda5 /mnt/hda5   注:挂载/dev/hda5;  [[email protected] beinan]# df -lh       注:查看/dev/hda5是否被挂载;  Filesystem    容量 已用 可用 已用% 挂载点  /dev/hda8      11G 8.5G 1.9G 83% /  /dev/shm      236M     0 236M   0% /dev/shm  /dev/hda10     16G 6.9G 8.3G 46% /mnt/hda10  /dev/hda5     7.9G 5.8G 2.1G 74% /mnt/hda5  [[email protected] beinan]# umount /dev/hda5 注:卸载/dev/hda5   [[email protected] beinan]# df -lh注:看是否卸载了/dev/hda5;  Filesystem    容量 已用 可用 已用% 挂载点  /dev/hda8      11G 8.5G 1.9G 83% /  /dev/shm      236M     0 236M   0% /dev/shm  /dev/hda10     16G 6.9G 8.3G 46% /mnt/hda10  [[email protected] beinan]#umount /dev/cdrom 注:卸载cdrom ;  [[email protected] beinan]#umount /dev/fd0   注:卸载软驱;  ... ... 再说一个查看分区是否被挂载了的命令,直接用 mount -s   [[email protected] beinan]# mount -s 

    -O [^]FEATHER:开启或关闭某种特性;

2、通过/etc/fstab文件来开机自动挂载文件系统

命令演示:mk2fs创建ext2格式的文件系统

1)理解fstab
上面我们说了mount挂载存储设备文件系统的办法;现在我们再来说一说在/etc/fstab 中实现开机自动挂载文件系统的办法;首先我们要查看 /etc/fstab ;主要看他的规划写法;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@localhost ~]# mke2fs -t ext2 /dev/sd
sda   sda1  sda2  sdb   sdb1  sdb2  sdb5  sdb6  sdb7 
[root@localhost ~]# mke2fs -t ext2 /dev/sdb7
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=67371008
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks: 
        8193, 24577, 40961, 57345, 73729
Allocating group tables: 完成                           
正在写入inode表: 完成                           
Writing superblocks and filesystem accounting information: 完成 
[root@localhost ~]# blkid /dev/sdb7
/dev/sdb7: UUID="4b9767fc-a8bf-4dda-9ce1-50eb5418da04" TYPE="ext2"
# This file is edited by fstab-sync - see 'man fstab-sync' for details  LABEL=/1/       ext3    defaults1 1  /dev/devpts     /dev/ptsdevpts gid=5,mode=620 0 0  /dev/shm/dev/shmtmpfs   defaults0 0  /dev/proc       /proc   proc    defaults0 0  /dev/sys/sys    sysfs   defaults0 0  LABEL=SWAP-hda7 swap    swap    defaults0 0  /dev/hdc/media/cdrecorder       auto    users,exec,noauto,managed 0 0 

指定inode数及为管理人员预留空间的百分比

第一字段:设备名,在这里表示是文件系统; 有时我们把挂载文件系统也说成挂载分区; 在这个字段中也可以用分区标签;在例子中/LABEL=/1就是Fedora 系统安装分区的标签,至于是在哪个分区,可以用 df -lh 来查看;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@localhost ~]# mke2fs -N 1024 -m 3 /dev/sdb7
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
1040 inodes, 102400 blocks
3072 blocks (3.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=67371008
13 block groups
8192 blocks per group, 8192 fragments per group
80 inodes per group
Superblock backups stored on blocks: 
        8193, 24577, 40961, 57345, 73729
Allocating group tables: 完成                           
正在写入inode表: 完成                           
Writing superblocks and filesystem accounting information: 完成
[[email protected] beinan]# df -lh  Filesystem    容量 已用 可用 已用% 挂载点  /dev/hda8      11G 8.5G 1.9G 83% /  /dev/shm      236M     0 236M   0% /dev/shm  /dev/hda10     16G 6.9G 8.3G 46% /mnt/hda10 

…………………………………………………………………………………………………………

我们可以知道 LABEL=/1是/dev/hda8的标签;那我们用什么命令来创建硬盘分区的标签呢?对于ext3和ext2文件系统,我们可以用 e2label 来设置
e2label device [newlabel]比如我们想把文件系统为ext3 的分区/dev/hda5的标签设备为 /5 ,我们应该执行如下的命令:

e2label:管理ext系列文件系统的LABEL 

[[email protected] beinan]# e2label /dev/hda5 /5  
[[email protected] beinan]# mkdir /mnt/hda5 注:创建挂载/dev/hda5分区的目录;
[[email protected] beinan]# chmod 777 /mnt/hda5 注:打开权限,所有用户可读可写可执行;
然后我们要改/etc/fstab 中加一行

    查看:e2label device

/5 /mnt/hda5    ext3     defaults0 0
警告: 请不要在您的Linux硬盘分区的安装分区也就是Linux硬盘分区系统/ 所在的分区)实践,会导致您的Linux硬盘分区系统崩溃;如果想实践,请在其它分区测试;如果是reiserfs文件系统,我们应该用 [[email protected] beinan]# reiserfstune -l 标签 设备 举例:比如我为reiserfs 文件系统 /dev/hda10设置标签为 /10 ;

    设定:e2label device LABEL

[[email protected] beinan]# reiserfstune -l /10 /dev/hda10
我们在/etc/fstab中加入一行;
/10      /mnt/hda10      reiserfs defaults       0 0

命令演示:设定指定块设备的卷标

警告: 请不要在您的Linux硬盘分区的安装分区也就是Linux硬盘分区系统/ 所在的分区)实践,会导致您的Linux硬盘分区系统崩溃;如果想实践,请在其它分区测试;第二字段:文件系统的挂载点;
第三字段:文件系统类型;
第四字段:mount 命令的选项,和mount 中的-o 同理;defaults包括这些选项 rw, suid, dev, exec, auto, nouser, async;通过实践,这个默认的还能满足我们的需要;至于这些选项的意思,请参看man mount ;第五字段:表示文件系统是否需要dump 备份,是真假关系;1是需要,0 是不需要;
第六字段: 是否在系统启动时,通过fsck磁盘检测工具来检查文件系统,1是需要,0是不需要,2是跳过;基于这些认识;比如我们要开机自动挂载/dev/hda5 ;我们可以如下做;
[[email protected] beinan]# mkdir /mnt/hda5/   注:先创建一个挂载目录;
[[email protected] beinan]# chmod 777 /mnt/hda5/    注:设置/mnt/hda5的权限为任何用户可写可读可执行;这样所有的用户都能在写入;
然后我们在/etc/fstab 中加如下的一行;

1
2
3
[root@localhost ~]# e2label /dev/sdb7 new3
[root@localhost ~]# e2label /dev/sdb7
new3

/dev/hda5      /mnt/hda5     reiserfs defaults       0 0
这样重启机器就能看到效果了;
四、对文件系统进行扫描fsck;
大家对Windows中的scandisk不寞生吧,在Linux硬盘分区中就有类似这样的工具fsck,不过fsck 可不仅仅是扫描,还能修正文件系统的一些问题。值得注意的是fsck 扫描文件系统时一定要在单用户模式、修复模式或把设备umount后进行。警告:如果扫描正在运行中的系统,会造成系统文件损坏;如果您的系统是正常,请不要用扫描工具,她可能会把您的系统搞坏掉,fsck运行是有危险的;以Fedora 为例,文件系统扫描工具有 fsck fsck.ext2 fsck.jfs fsck.msdos fsck.vfat fsck.ext3 fsck.reiserfsreiserfsck)其中fsck 默认支持文件系统ext2,如果想支持ext3文件系统的扫描,应该加-j 参数,最好是我们应该根据不同的文件系统来调用不同的扫描工具,比如 fsck.ext2,fsck.jfs,fsck.msdos,fsck.ext3,fsck.reiserfsreiserfsck)等。我们也可以根据自己的文件系统选择不同的扫描工具;举例:扫描/dev/hda10分区基于reiserfs文件系统 );

…………………………………………………………………………………………………………

[[email protected] beinan]# fsck.reiserfs /dev/hda10  reiserfsck 3.6.19 (2003 www.namesys.com)   *************************************************************  ** If you are using the latest reiserfsprogs and it fails **  ** please email bug reports to [email protected], **  ** providing as much information as possible -- your **  ** hardware, kernel, patches, settings, all reiserfsck **  ** messages (including version), the reiserfsck logfile, **  ** check the syslog file for any related information. **  ** If you would like advice on using this program, support **  ** is available for $25 at www.namesys.com/support.html. **  *************************************************************   Will read-only check consistency of the filesystem on /dev/hda10  Will put log info to 'stdout'   Do you want to run this program?[N/Yes] (note need to type Yes if you do):Yes  ###########  reiserfsck --check started at Wed Sep 14 08:54:17 2005  ###########  Replaying journal..  Reiserfs journal '/dev/hda10' in blocks [18..8211]: 0 transactions replayed  Checking internal tree..finished  Comparing bitmaps..finished  Checking Semantic tree:  finished  No corruptions found   注:没有发现错误;  There are on the filesystem:  Leaves 2046  Internal nodes 15  Directories 130  Other files 2305  Data block pointers 1863657 (70565 of them are zero)  Safe links 0  ###########  reiserfsck finished at Wed Sep 14 08:54:33 2005  ###########  对于fsck.ext2和fsck.ext3常用的几个选项:  

tune2fs:重新设定ext系列文件系统可调整参数的值(不进行格式化

-p Automatic repair (no questions) 注:自动修复文件系统存在的问题;
-y Assume "yes" to all questions   注:如果文件系统有问题,会跳出提示是否修复,如果修复请按y;
-c Check for bad blocks and add them to the badblock list 注:对文件系统进行坏块检查;这是一个极为漫长的过程;
-n Make no changes to the filesystem   注:不对文件系统做任何改变,只要扫描,以检测是否有问题;
举例:比如 /dev/hda6 文件系统是ext3的),我想扫描并自动修复;
[[email protected] beinan]# fsck.ext3 -p /dev/hda6
注意: 针对不同文件系统,最好用相应的工具;虽然有时fsck 在不加参数的情况下能识别不同的文件系统;对于不同工具的最为详细的参数,请参看--help或者man ,谢谢。。
后记:创建文件系统和加载文件系统就算写的差不多了;再高深的可能也不是我所能写的。为了写文件系统系统的挂载,我已经写过几篇文档。可能还得需补充几篇短小文档,以及还有一个总结性的文档;比如Fedora Core 4.0 默认安装不支持创建reiserfs 文件系统,解决办法是安装reiserfs-utils ,这也是需要补充的;

    -l:查看指定文件系统超级块信息;super block

  1. Ubuntu Linux硬盘分区引导程序
  2. 最佳方案Linux硬盘分区
  3. 操作笔记:Linux硬盘分区
  4. 介绍Linux硬盘系统建立分区步骤挂载
  5. 老机的Linux硬盘规划

    -L 'LABEL':修改卷标

...

    -m #:修预留给管理员的空间百分比

    -j: 将ext2升级为ext3

    -O: 文件系统属性启用或禁用

    -o: 调整文件系统的默认挂载选项

    -U UUID: 修改UUID号;

命令演示:修改卷标

1
2
3
4
[root@localhost ~]# tune2fs -L 'another label' /dev/sdb7
tune2fs 1.42.9 (28-Dec-2013)
[root@localhost ~]# blkid /dev/sdb7
/dev/sdb7: LABEL="another label" UUID="a57b2116-d72b-48d2-a648-bb6d2d5487ac" TYPE="ext2"

升级ext2到ext3

1
2
3
4
5
[root@localhost ~]# tune2fs -j /dev/sdb7
tune2fs 1.42.9 (28-Dec-2013)
Creating journal inode: 完成
[root@localhost ~]# blkid /dev/sdb7
/dev/sdb7: LABEL="another label" UUID="a57b2116-d72b-48d2-a648-bb6d2d5487ac" SEC_TYPE="ext2" TYPE="ext3"

…………………………………………………………………………………………………………

dumpe2fs

    -h:查看超级块信息等同于tune2fs -l 

命令演示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
[root@localhost ~]# dumpe2fs -h /dev/sdb7
dumpe2fs 1.42.9 (28-Dec-2013)
Filesystem volume name:   another label
Last mounted on:          <not available>
Filesystem UUID:          a57b2116-d72b-48d2-a648-bb6d2d5487ac
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype sparse_super
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              1040
Block count:              102400
Reserved block count:     3072
Free blocks:              96568
Free inodes:              1029
First block:              1
Block size:               1024
Fragment size:            1024
Reserved GDT blocks:      256
Blocks per group:         8192
Fragments per group:      8192
Inodes per group:         80
Inode blocks per group:   10
Filesystem created:       Sun Aug 21 20:11:13 2016
Last mount time:          n/a
Last write time:          Sun Aug 21 20:52:01 2016
Mount count:              0
Maximum mount count:      -1
Last checked:             Sun Aug 21 20:11:13 2016
Check interval:           0 (<none>)
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               128
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      3e1f3581-59c7-41b3-bd4f-d262e3ce026e
Journal backup:           inode blocks
Journal features:         (none)
日志大小:             4113k
Journal length:           4096
Journal sequence:         0x00000001
Journal start:            0

…………………………………………………………………………………………………………

fsck:check and repair a Linux file system检查修复Linux文件系统

因进程意外中止或系统崩溃等 原因导致定稿操作非正常终止时,可能会造成文件损坏;此时,应该检测并修复文件系统; 建议,离线进行;

    -t fstype:指明文件系统类型;比如:fsck -t ext4 = fsck.ext4

    -a:无须交互而自动修复所有错误;

    -r:交互式修复;

Note: FS_TYPE一定要与分区上已经文件类型相同;

…………………………………………………………………………………………………………

e2fsck:ext系列文件专用的检测修复工具

    -y:自动回答为yes; 

    -f:强制修复;

 


 

总结

文件系统管理工具

通用:mkfs、blkid、fsck 

ext系列文件系统专用工具:mke2fs、dumpe2fs、tune2fs、e2label、e2fsck

简要比较两种类型的命令

1
2
3
4
5
6
[root@localhost ~]# dumpe2fs /dev/sda1
dumpe2fs 1.42.9 (28-Dec-2013)
dumpe2fs: Bad magic number in super-block 当尝试打开 /dev/sda1 
找不到有效的文件系统超级块.
[root@localhost ~]# blkid /dev/sda1
/dev/sda1: UUID="6efb8a23-bae1-427c-ab10-3caca95250b1" TYPE="xfs"

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-08/134665.htm

www.3559.com 3

编辑:www.3559.com 本文来源:www.3559.comLinux硬盘分区对存储设备的分区,备份你

关键词: www.3559.com