一、磁盘挂载回忆小结
1、挂载磁盘可用的方法
1)设备名进行挂载 2)卷标挂载 3)UUID挂载(此方法常用,UUID为随机生成,唯一性确保挂载成功)
2、文件挂载配置文件详解
/etc/fstab每行代表的意义,如下:
1)挂载的设备或伪文件系统 2)挂载点 3)文件系统类型 4)挂载选项 5)转储频率 6)自检次序
演示:
1
2
3
4
5
<code>tmpfs </code><code>/dev/shm</code> <code>tmpfs defaults 0 0</code>
<code>devpts </code><code>/dev/pts</code> <code>devpts gid=5,mode=620 0 0</code>
<code>sysfs </code><code>/sys</code> <code>sysfs defaults 0 0</code>
<code>UUID=</code><code>"39208cf4-4d84-430b-ab53-7a26ad9d786d"</code> <code>/mnt/lv0</code> <code>ext4 defaults 0 0</code>
<code>UUID=240533cf-b37f-4460-974f-702bab867da5 / ext4 defaults 1 1</code>
二、挂载交换分区
swapon命令:
swapon, swapoff - enable/disable devices and files for paging and swapping
启用:swapon swapon [OPTOIONS] [DEVICE]
禁用:swapoff [OPTOINS] [DEVICE]
选项:
-a:激活所有的交换分区
-p:priority,设置优先级
-s:查看swapon分区
使用mkswap写入特殊签名
swap优先级:
用户可以给某个swap指定一个0到32767的优先级,如果用户没有指定,那么核心会自动给swap指定一个优 先级,这个优先级从-1开始,每加入一个新的没有用户 指定优先级的swap,会给这个优先级减一。
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<code>[root@centos6 ~]</code><code># fdisk /dev/sdb</code>
<code>WARNING: DOS-compatible mode is deprecated. It's strongly recommended to</code>
<code> </code><code>switch off the mode (</code><code>command</code> <code>'c'</code><code>) and change display </code><code>units</code> <code>to</code>
<code> </code><code>sectors (</code><code>command</code> <code>'u'</code><code>).</code>
<code>Command (m </code><code>for</code> <code>help): p</code>
<code>Disk </code><code>/dev/sdb</code><code>: 128.8 GB, 128849018880 bytes</code>
<code>255 heads, 63 sectors</code><code>/track</code><code>, 15665 cylinders</code>
<code>Units = cylinders of 16065 * 512 = 8225280 bytes</code>
<code>Sector size (logical</code><code>/physical</code><code>): 512 bytes / 512 bytes</code>
<code>I</code><code>/O</code> <code>size (minimum</code><code>/optimal</code><code>): 512 bytes / 512 bytes</code>
<code>Disk identifier: 0x9d14d54e</code>
<code> </code><code>Device Boot Start End Blocks Id System</code>
<code>Command (m </code><code>for</code> <code>help): n</code>
<code>Command action</code>
<code> </code><code>e extended</code>
<code> </code><code>p primary partition (1-4)</code>
<code>p</code>
<code>Partition number (1-4): 1</code>
<code>First cylinder (1-15665, default 1):</code>
<code>Using default value 1</code>
<code>Last cylinder, +cylinders or +size{K,M,G} (1-15665, default 15665): +2G</code>
<code>/dev/sdb1</code> <code>1 262 2104483+ 83 Linux</code>
<code>Command (m </code><code>for</code> <code>help): t</code>
<code>Selected partition 1</code>
<code>Hex code (</code><code>type</code> <code>L to list codes): 82</code>
<code>Changed system </code><code>type</code> <code>of partition 1 to 82 (Linux swap / Solaris)</code>
<code>/dev/sdb1</code> <code>1 262 2104483+ 82 Linux swap / Solaris</code>
<code>Command (m </code><code>for</code> <code>help): w</code>
<code>The partition table has been altered!</code>
<code>Calling ioctl() to re-</code><code>read</code> <code>partition table.</code>
<code>Syncing disks.</code>
<code>[root@centos6 ~]</code><code># mkswap /dev/sdb1</code>
<code>Setting up swapspace version 1, size = 2104476 KiB</code>
<code>no label, UUID=443bb126-8dc0-45a3-acfe-9a37629bb511</code>
<code>[root@centos6 ~]</code><code># vi /etc/fstab</code>
<code>[root@centos6 ~]</code><code># blkid /dev/sdb1</code>
<code>/dev/sdb1</code><code>: UUID=</code><code>"443bb126-8dc0-45a3-acfe-9a37629bb511"</code> <code>TYPE=</code><code>"swap"</code>
<code>[root@centos6 ~]</code><code># tail -1 /etc/fstab</code>
<code>UUID=443bb126-8dc0-45a3-acfe-9a37629bb511 swap swap defaults 0 0</code>
<code>[root@centos6 ~]</code><code># mount -a</code>
<code>[root@centos6 ~]</code><code># swapon -s</code>
<code>FilenameTypeSizeUsedPriority</code>
<code>/dev/sda5</code> <code>partition41943000-1</code>
<code>[root@centos6 ~]</code><code># swpapon -a</code>
<code>-</code><code>bash</code><code>: swpapon: </code><code>command</code> <code>not found</code>
<code>[root@centos6 ~]</code><code># swapon -a</code>
<code>/dev/sdb1</code> <code>partition21044760-2</code>
<code>[root@centos6 ~]</code><code># cat /etc/fstab |grep "/dev/sdb1"</code>
<code>/dev/sdb1</code> <code>swap swap defaults,pri=100 0 0</code>
<code>[root@centos6 ~]</code><code># swapoff /dev/sdb1</code>
<code>[root@centos6 ~]</code><code># swapon -p 100 /dev/sdb1</code>
<code>/dev/sdb1</code> <code>partition21044760100</code>
<code>[root@centos6 ~]</code><code># free -m</code>
<code> </code><code>total used </code><code>free</code> <code>shared buffers cached</code>
<code>Mem: 980 455 525 0 30 273</code>
<code>-/+ buffers</code><code>/cache</code><code>: 151 829</code>
<code>Swap: 6151 0 6151</code>
<code>[root@centos6 ~]</code><code># touch /swapfile</code>
<code>[root@centos6 ~]</code><code># mkswap /swapfile</code>
<code>mkswap: error: swap area needs to be at least 40 KiB</code>
<code>Usage: mkswap [-c] [-pPAGESZ] [-L label] [-U UUID] </code><code>/dev/name</code> <code>[blocks]</code>
<code>[root@centos6 ~]</code><code># dd if=/dev/sda1 of=/swapfile bs=1M count=2</code>
<code>记录了2+0 的读入</code>
<code>记录了2+0 的写出</code>
<code>2097152字节(2.1 MB)已复制,0.0225383 秒,93.0 MB/秒</code>
<code>[root@centos6 ~]</code><code>#</code>
<code>mkswap: </code><code>/swapfile</code><code>: warning: don't erase bootbits sectors</code>
<code> </code><code>on whole disk. Use -f to force.</code>
<code>Setting up swapspace version 1, size = 2044 KiB</code>
<code>no label, UUID=c865d3b4-0edb-4d31-9a1a-985e74f1c2a5</code>
<code>Filename Type Size Used Priority</code>
<code>/dev/sda5</code> <code>partition 4194300 0 -1</code>
<code>/dev/sdb1</code> <code>partition 2104476 0 100</code>
<code>/swapfile</code> <code>file</code> <code>2044 0 100</code>
三、dd工具
dd命令:
dd - convert and copy a file
用法:dd=if=/path/from/src of=/path/to/desti
bs=block size count=#
示例:
磁盘拷贝:
dd if=/dev/sdb of=/dev/sdc
备份MBR:
dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1
破坏MBR中的扇区:
dd if=/dev/zero of=/dev/sda bs=64 count=1 seek=446
实战练习:
有一个大于2K的二进制文件fileA。现在想从第64个字节位置 开始读取,需要读取的大小是128Byts。又有fileB, 想把上 面读取到的128Bytes写到第32个字节开始的位置,替换 128Bytes,请问如何实现?
答案:dd if=fielA of=fileB bs=1 count=128 skip=63 seek=31 conv=notrunc
备份:
dd if=/dev/sdz of=/dev/sdy #将本地的/dev/sdz备份到/dev/sdy
dd if=/dev/sdx of=/path/to/image #将本地的sdx备份到相应的文件
dd if=/dev/sda|gzip >/path/to/images.gz #备份并压缩
恢复:
dd if=/path/to/images.gz of=/dev/sdz #将备份文件恢复到指定盘
gzip -dc /path/to/image.gz | dd of=/dev/sdx #将压缩的备份文件恢复到指定盘
四、磁盘修复小技巧
注意:/etc/fstab 设备名出错,自检非0,开机会导致无法启动,修复方法如下:小编就不一一演示,想要成功的掌握知识点,就得多动手。。
方法一:
1)关机重启输入密码
2)输入如下命令,并修改/etc/fstab文件,重启即可。
mount -o remount,rw /
方法二:
进入救援模式,重新修改/etc/fstab配置文件
本文转自chengong1013 51CTO博客,原文链接:http://blog.51cto.com/purify/1844054,如需转载请自行联系原作者