欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

文件系統(tǒng)恢復(fù)方法和系統(tǒng)的制作方法

文檔序號(hào):9274688閱讀:587來源:國知局
文件系統(tǒng)恢復(fù)方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及系統(tǒng)管理領(lǐng)域,尤其涉及一種文件系統(tǒng)恢復(fù)方法和裝置。
【背景技術(shù)】
[0002]在實(shí)際應(yīng)用中,一些誤操作難免對(duì)存有數(shù)據(jù)的分區(qū)的文件系統(tǒng)造成了破壞,分區(qū)已無法完成掛載,此時(shí)要想繼續(xù)進(jìn)行分區(qū)的掛載,只能重新格式化分區(qū)或者恢復(fù)原有的文件系統(tǒng)。重新格式化分區(qū)會(huì)造成原有所有數(shù)據(jù)的丟失,這種方式損失較大,而恢復(fù)文件系統(tǒng)的方法也存在一些缺點(diǎn),一些方法恢復(fù)原有的文件系統(tǒng)時(shí)也會(huì)造成很多或者全部數(shù)據(jù)的丟失,無法起到盡量少的減少原有數(shù)據(jù)丟失的作用。

【發(fā)明內(nèi)容】

[0003]本發(fā)明提供了一種文件系統(tǒng)恢復(fù)方法和系統(tǒng),解決了文件系統(tǒng)恢復(fù)過程中數(shù)據(jù)丟失的問題。
[0004]一種文件系統(tǒng)恢復(fù)方法,包括:
[0005]在發(fā)生分區(qū)故障時(shí),查找故障的分區(qū)的superblock文件;
[0006]根據(jù)所述superbock文件,恢復(fù)所述故障的分區(qū);
[0007]在對(duì)所述故障的分區(qū)恢復(fù)完成后,重新掛載該分區(qū)。
[0008]優(yōu)選的,查找故障的分區(qū)的superblock文件具體為:
[0009]在所述故障的分區(qū)的文件中拷貝1024B-2048B到superblock文件。
[0010]優(yōu)選的,根據(jù)所述superbock文件,恢復(fù)所述故障的分區(qū)包括:
[0011]將二進(jìn)制的所述superblock文件轉(zhuǎn)換成16進(jìn)制的形式;
[0012]驗(yàn)證16進(jìn)制superblock文件的正確性,獲取superblock文件頭上記錄著的inodes的個(gè)數(shù)和block的個(gè)數(shù);
[0013]根據(jù)所述inodes的個(gè)數(shù)和block的個(gè)數(shù),恢復(fù)所述故障的分區(qū)。
[0014]優(yōu)選的,所述在發(fā)生分區(qū)故障時(shí),查找故障的分區(qū)的superblock文件的步驟之前,還包括:
[0015]對(duì)磁盤分區(qū)進(jìn)行格式化并掛載。
[0016]優(yōu)選的,操作環(huán)境為Linux系統(tǒng)。
[0017]本發(fā)明還提供了一種文件系統(tǒng)恢復(fù)系統(tǒng),包括:
[0018]文件查詢模塊,用于在發(fā)生分區(qū)故障時(shí),查找故障的分區(qū)的superblock文件;
[0019]故障修復(fù)模塊,用于根據(jù)所述superbock文件,恢復(fù)所述故障的分區(qū);
[0020]掛載模塊,用于在對(duì)所述故障的分區(qū)恢復(fù)完成后,重新掛載該分區(qū)。
[0021]優(yōu)選的,所述文件查詢模塊,具體用于
[0022]在所述故障的分區(qū)的文件中拷貝1024B-2048B到superblock文件。
[0023]優(yōu)選的,所述故障修復(fù)模塊包括:
[0024]轉(zhuǎn)換單元,用于將二進(jìn)制的所述superblock文件轉(zhuǎn)換成16進(jìn)制的形式;
[0025]驗(yàn)證單元,用于驗(yàn)證16進(jìn)制superblock文件的正確性,獲取superblock文件頭上記錄著的inodes的個(gè)數(shù)和block的個(gè)數(shù);
[0026]恢復(fù)單元,用于根據(jù)所述inodes的個(gè)數(shù)和block的個(gè)數(shù),恢復(fù)所述故障的分區(qū)。
[0027]優(yōu)選的,所述掛載模塊,還用于在系統(tǒng)初始化時(shí),對(duì)磁盤分區(qū)進(jìn)行格式化并掛載。
[0028]本發(fā)明提供了一種文件系統(tǒng)恢復(fù)方法和系統(tǒng),在發(fā)生分區(qū)故障時(shí),查找故障的分區(qū)的superblock文件,根據(jù)所述superbock文件,恢復(fù)所述故障的分區(qū),并在對(duì)所述故障的分區(qū)恢復(fù)完成后,重新掛載該分區(qū)。通過superbock文件完成文件系統(tǒng)的修復(fù),解決了文件系統(tǒng)恢復(fù)過程中數(shù)據(jù)丟失的問題。
【附圖說明】
[0029]圖1為本發(fā)明的實(shí)施例一提供的一種文件系統(tǒng)恢復(fù)方法的流程圖;
[0030]圖2為分區(qū)的物理存儲(chǔ)結(jié)構(gòu)示意圖;
[0031]圖3為本發(fā)明的實(shí)施例二提供的一種文件系統(tǒng)恢復(fù)系統(tǒng)的結(jié)構(gòu)示意圖;
[0032]圖4為圖3中故障修復(fù)模塊302的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0033]下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
[0034]首先結(jié)合附圖對(duì)本發(fā)明的實(shí)施例一進(jìn)行說明。
[0035]本發(fā)明實(shí)施例提供了一種文件系統(tǒng)恢復(fù)方法,使用該方法完成對(duì)文件系統(tǒng)故障處理的流程如圖1所示,包括:
[0036]步驟101、操作系統(tǒng)的安裝;
[0037]本步驟中,安裝Linux系統(tǒng),如安裝redhat6.4操作系統(tǒng)。
[0038]步驟102、對(duì)sdb進(jìn)行分區(qū),格式化,掛載。
[0039]步驟103、檢測文件系統(tǒng)故障。
[0040]亦可以模擬文件系統(tǒng)故障,如使用dd對(duì)sdbl模擬文件系統(tǒng)故障。
[0041]指令:ddif = /dev/null of = /dev/mnt count = 100bs = 4K。
[0042]步驟104、在發(fā)生分區(qū)故障時(shí),查找故障的分區(qū)的superblock文件查看文件系統(tǒng);
[0043]在步驟103中發(fā)生sdbl文件系統(tǒng)損壞后,無法進(jìn)行掛載。
[0044]隨即查找superblock。具體的,從/dev/sdbl拷貝1024B_2048B(這就是superblock的位置)到一個(gè)叫superblock的文件。
[0045]所使用的指令為:ddif = /dev/sdblbs = Ik skip = lcount = 1f =superblock。
[0046]其中,bs = lk,為每次讀寫的塊大??;
[0047]skip = 1,表明偏移多少塊開始讀(這里塊為bs = Ik,偏移1,表示從Ik開始讀);
[0048]count = 1,表示讀的大小(這里表示讀Ik);
[0049]if, of,分別表不從哪里讀和與到哪里去。
[0050]參考圖2,為分區(qū)的物理存儲(chǔ)結(jié)構(gòu):
[0051]圖2中可以看到第一個(gè)Block的第一個(gè)Ik處是存儲(chǔ)的Boot Block,而superblock是從Ik開始,大小為lk。
[0052]步驟105、根據(jù)所述superbock文件,恢復(fù)所述故障的分區(qū)。
[0053]本步驟具體包括:
[0054]1、查看 superblock 文件;
[0055]用vim打開從/dev/sda3復(fù)制出來的superblock文件,由于是二進(jìn)制文件,在用vim打開之后要用:% ! xxd轉(zhuǎn)換成16進(jìn)制形式。
[0056]這樣,就得到了在磁盤上superblock的形式。
[0057]2、驗(yàn)證 superblock 正確性;
[0058]首先,通過查看/usr/include/linux/ext3_fs.h 頭文件中的 struct ext3_super—block,可以知道在superblock文件的頭上記錄著inodes的個(gè)數(shù)和block的個(gè)數(shù),它們均為32位。
[0059]從superblock中可以看出:
[0060]inodes—count:00003a04(注意:這里是小數(shù)端)_ >043a0000 = 70909952
[0061]blocks—count:fdc43904 - >0439c4fd = 70894845dumpe2fs/dev/sda3|less
[0062]可以看到如下的輸出(一部分):
[0063]Inode count:70909952
[0064]Block count:70894845
[0065]3、使用superblock恢復(fù)文件系統(tǒng);
[0066]「root@localhost?1#e2fsck_b 32768/dev/sdbl
[0067]e2fsck 1.41.12 (17_May-2010)
[0068]/dev/sdbIwas not cleanly unmounted, check forced.
[0069]Resize inode not valid.Recreate<y> ? cancelled !
[0070]「root@localhost?1#e2fsck_b 32768/dev/sdbl
[0071]e2fsck 1.41.12 (17_May-2010)
[0072]/dev/sdbIwas not cleanly unmounted, check forced.
[0073]Resize inode not valid.Recreate<y>
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
望江县| 民丰县| 汉阴县| 汕尾市| 青川县| 双流县| 班戈县| 乌鲁木齐县| 贵溪市| 铜梁县| 霍山县| 商丘市| 桦川县| 开原市| 阿拉善盟| 耿马| 汶川县| 安新县| 桦甸市| 光山县| 新密市| 兖州市| 蚌埠市| 郸城县| 巴彦县| 河东区| 武宣县| 肇源县| 边坝县| 南陵县| 鄄城县| 夹江县| 三河市| 五莲县| 南昌市| 海门市| 新和县| 麻城市| 北川| 合川市| 清水县|