一、磁盤挂載回憶小結
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,如需轉載請自行聯系原作者