本公開涉及終端技術(shù)領(lǐng)域,尤其涉及識(shí)別文件系統(tǒng)錯(cuò)誤的方法及裝置。
背景技術(shù):
目前,隨著終端使用時(shí)間的增長(zhǎng)和硬件的老化,可能會(huì)造成文件系統(tǒng)的損壞,而文件系統(tǒng)一旦損壞,就可能給用戶帶來一系列麻煩,如導(dǎo)致用戶無法進(jìn)行OTA(Over-the-Air Technology,空間下載技術(shù))更新、無法讀取該文件系統(tǒng)下所掛載的分區(qū)、或者無法讀取該分區(qū)下的文件等,從而給用戶帶來很大困擾。
技術(shù)實(shí)現(xiàn)要素:
本公開實(shí)施例提供了識(shí)別文件系統(tǒng)錯(cuò)誤的方法及裝置。所述技術(shù)方案如下:
根據(jù)本公開實(shí)施例的第一方面,提供一種識(shí)別文件系統(tǒng)錯(cuò)誤的方法,包括:
在接收到掛載指令時(shí),將預(yù)設(shè)分區(qū)上需要掛載第一文件系統(tǒng)掛載至目標(biāo)目錄下;
讀取所述預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第一掛載狀態(tài);
當(dāng)所述第一掛載狀態(tài)為掛載失敗時(shí),確定所述第一文件系統(tǒng)錯(cuò)誤,其中,所述掛載失敗包括:所述第一文件系統(tǒng)的狀態(tài)為只讀和所述第一文件系統(tǒng)無法掛載這兩者中的至少一項(xiàng)。
在一個(gè)實(shí)施例中,所述方法還包括:
在確定所述第一文件系統(tǒng)錯(cuò)誤時(shí),卸載所述預(yù)設(shè)分區(qū)。
在一個(gè)實(shí)施例中,所述方法還包括:
在確定所述第一文件系統(tǒng)錯(cuò)誤時(shí),對(duì)所述預(yù)設(shè)分區(qū)進(jìn)行格式化,并重新掛載格式化之后的所述預(yù)設(shè)分區(qū)。
在一個(gè)實(shí)施例中,所述在確定所述第一文件系統(tǒng)錯(cuò)誤時(shí),對(duì)所述預(yù)設(shè)分區(qū)進(jìn)行格式化,并重新掛載格式化之后的所述預(yù)設(shè)分區(qū),包括:
在確定所述第一文件系統(tǒng)錯(cuò)誤時(shí),清除所述預(yù)設(shè)分區(qū)中的數(shù)據(jù),并為所述預(yù)設(shè)分區(qū)創(chuàng)建第二文件系統(tǒng),其中,所述預(yù)設(shè)分區(qū)中的數(shù)據(jù)包括所述第一文件系統(tǒng);
將所述預(yù)設(shè)分區(qū)的所述第二文件系統(tǒng)掛載至所述目標(biāo)目錄下。
在一個(gè)實(shí)施例中,所述方法還包括:
在將所述預(yù)設(shè)分區(qū)的所述第二文件系統(tǒng)掛載至所述目標(biāo)目錄之后,讀取所述預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第二掛載狀態(tài);
當(dāng)所述第二掛載狀態(tài)為掛載失敗時(shí),生成硬件損壞信息,其中,所述硬件損壞信息用于指示用戶當(dāng)前設(shè)備中的目標(biāo)硬件已損壞。
在一個(gè)實(shí)施例中,上述方法還包括:
在接收到所述掛載指令之前,讀取預(yù)設(shè)文件下存儲(chǔ)的修復(fù)標(biāo)識(shí)位,其中,所述修復(fù)標(biāo)識(shí)位用于指示是否需要對(duì)所述第一文件系統(tǒng)進(jìn)行自動(dòng)檢測(cè)和修復(fù);
在根據(jù)所述修復(fù)標(biāo)識(shí)位確定需要對(duì)所述第一文件系統(tǒng)進(jìn)行修復(fù)時(shí),對(duì)所述第一文件系統(tǒng)進(jìn)行自動(dòng)檢測(cè),以修復(fù)所述第一文件系統(tǒng)中的錯(cuò)誤。
根據(jù)本公開實(shí)施例的第二方面,提供一種識(shí)別文件系統(tǒng)錯(cuò)誤的裝置,包括:
掛載模塊,用于在接收到掛載指令時(shí),將預(yù)設(shè)分區(qū)上需要掛載的第一文件系統(tǒng)掛載至目標(biāo)目錄下;
第一讀取模塊,用于讀取所述預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第一掛載狀態(tài);
確定模塊,用于當(dāng)所述第一掛載狀態(tài)為掛載失敗時(shí),確定所述第一文件系統(tǒng)錯(cuò)誤,其中,所述掛載失敗包括:所述第一文件系統(tǒng)的狀態(tài)為只讀和所述第一文件系統(tǒng)無法掛載這兩者中的至少一項(xiàng)。
在一個(gè)實(shí)施例中,所述裝置還包括:
卸載模塊,用于在確定所述第一文件系統(tǒng)錯(cuò)誤時(shí),卸載所述預(yù)設(shè)分區(qū)。
在一個(gè)實(shí)施例中,所述裝置還包括:
第一處理模塊,用于在確定所述第一文件系統(tǒng)錯(cuò)誤時(shí),對(duì)所述預(yù)設(shè)分區(qū)進(jìn)行格式化,并重新掛載格式化之后的所述預(yù)設(shè)分區(qū)。
在一個(gè)實(shí)施例中,所述第一處理模塊包括:
處理子模塊,用于在確定所述第一文件系統(tǒng)錯(cuò)誤時(shí),清除所述預(yù)設(shè)分區(qū)中的數(shù)據(jù),并為所述預(yù)設(shè)分區(qū)創(chuàng)建第二文件系統(tǒng),其中,所述預(yù)設(shè)分區(qū)中的數(shù)據(jù)包括所述第一文件系統(tǒng);
掛載子模塊,用于將所述預(yù)設(shè)分區(qū)的所述第二文件系統(tǒng)掛載至所述目標(biāo)目錄下。
在一個(gè)實(shí)施例中,所述裝置還包括:
第二讀取模塊,用于在將所述預(yù)設(shè)分區(qū)的所述第二文件系統(tǒng)掛載至所述目標(biāo)目錄之后,讀取所述預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第二掛載狀態(tài);
生成模塊,用于當(dāng)所述第二掛載狀態(tài)為掛載失敗時(shí),生成硬件損壞信息,其中,所述硬件損壞信息用于指示用戶當(dāng)前設(shè)備中的目標(biāo)硬件已損壞。
在一個(gè)實(shí)施例中,所述裝置還包括:
第三讀取模塊,用于在在接收到所述掛載指令之前,讀取預(yù)設(shè)文件下存儲(chǔ)的修復(fù)標(biāo)識(shí)位,其中,所述修復(fù)標(biāo)識(shí)位用于指示是否需要對(duì)所述第一文件系統(tǒng)進(jìn)行自動(dòng)檢測(cè)和修復(fù);
第二處理模塊,用于在根據(jù)所述修復(fù)標(biāo)識(shí)位確定需要對(duì)所述第一文件系統(tǒng)進(jìn)行修復(fù)時(shí),對(duì)所述第一文件系統(tǒng)進(jìn)行自動(dòng)檢測(cè),以修復(fù)所述第一文件系統(tǒng)中的錯(cuò)誤。
根據(jù)本公開實(shí)施例的第三方面,提供了一種識(shí)別文件系統(tǒng)錯(cuò)誤的裝置,包括:
處理器;
用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;
其中,所述處理器被配置為:
在接收到掛載指令時(shí),將預(yù)設(shè)分區(qū)上需要掛載的第一文件系統(tǒng)掛載至目標(biāo)目錄下;
讀取所述預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第一掛載狀態(tài);
當(dāng)所述第一掛載狀態(tài)為掛載失敗時(shí),確定所述第一文件系統(tǒng)錯(cuò)誤,其中,所述掛載失敗包括:所述第一文件系統(tǒng)的狀態(tài)為只讀和所述第一文件系統(tǒng)無法掛載這兩者中的至少一項(xiàng)。
本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
本公開的實(shí)施例提供的技術(shù)方案,在接收到掛載指令時(shí),可以根據(jù)該掛載指令將預(yù)設(shè)分區(qū)的第一文件系統(tǒng)掛載在目標(biāo)目錄下,進(jìn)而自動(dòng)讀取預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第一掛載狀態(tài),并在該第一掛載狀態(tài)為本次掛載失敗時(shí),可以準(zhǔn)確確定是第一文件系統(tǒng)錯(cuò)誤。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本公開的實(shí)施例,并與說明書一起用于解釋本公開的原理。
圖1是根據(jù)一示例性實(shí)施例示出的一種識(shí)別文件系統(tǒng)錯(cuò)誤的方法的流程圖。
圖2是根據(jù)一示例性實(shí)施例示出的另一種識(shí)別文件系統(tǒng)錯(cuò)誤的方法的流程圖。
圖3是根據(jù)一示例性實(shí)施例一示出的又一種識(shí)別文件系統(tǒng)錯(cuò)誤的方法的流程圖。
圖4是根據(jù)一示例性實(shí)施例一示出的再一種識(shí)別文件系統(tǒng)錯(cuò)誤的方法的流程圖。
圖5是根據(jù)一示例性實(shí)施例一示出的再一種識(shí)別文件系統(tǒng)錯(cuò)誤的方法的流程圖。
圖6是根據(jù)一示例性實(shí)施例一示出的再一種識(shí)別文件系統(tǒng)錯(cuò)誤的方法的流程圖。
圖7是根據(jù)一示例性實(shí)施例示出的一種識(shí)別文件系統(tǒng)錯(cuò)誤的裝置的框圖。
圖8是根據(jù)一示例性實(shí)施例示出的另一種識(shí)別文件系統(tǒng)錯(cuò)誤的裝置的框圖。
圖9是根據(jù)一示例性實(shí)施例示出的又一種識(shí)別文件系統(tǒng)錯(cuò)誤的裝置的框圖。
圖10是根據(jù)一示例性實(shí)施例示出的再一種識(shí)別文件系統(tǒng)錯(cuò)誤的裝置的框圖。
圖11是根據(jù)一示例性實(shí)施例示出的再一種識(shí)別文件系統(tǒng)錯(cuò)誤的裝置的框圖。
圖12是根據(jù)一示例性實(shí)施例示出的再一種識(shí)別文件系統(tǒng)錯(cuò)誤的裝置的框圖。
圖13是根據(jù)一示例性實(shí)施例示出的適用于識(shí)別文件系統(tǒng)錯(cuò)誤的裝置的框圖。
具體實(shí)施方式
這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本公開相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本公開的一些方面相一致的裝置和方法的例子。
目前,隨著終端使用時(shí)間的增長(zhǎng)和硬件的老化,可能會(huì)造成文件系統(tǒng)的損壞,而文件系統(tǒng)一旦損壞,就可能給用戶帶來一系列麻煩,如導(dǎo)致用戶無法進(jìn)行OTA更新、無法讀取該文件系統(tǒng)下所掛載的分區(qū)、或者無法讀取該分區(qū)下的文件等,從而給用戶帶來很大困擾。
為了解決上述技術(shù)問題,本公開實(shí)施例提供了一種識(shí)別文件系統(tǒng)錯(cuò)誤的方法,該方法可用于識(shí)別文件系統(tǒng)錯(cuò)誤的程序、系統(tǒng)或裝置中,且該方法對(duì)應(yīng)的執(zhí)行主體可以是安裝有安卓操作系統(tǒng)、Linux操作系統(tǒng)、或者是OS X操作系統(tǒng)的手機(jī)、平板、PC機(jī)(personal computer,個(gè)人計(jì)算機(jī))等終端,如圖1所示,該方法包括步驟S101至步驟S103:
在步驟S101中,在接收到掛載指令時(shí),將預(yù)設(shè)分區(qū)上需要掛載第一文件系統(tǒng)掛載至目標(biāo)目錄下,,其中,該目標(biāo)目錄可以是當(dāng)前設(shè)備中的任一目錄;
其中,當(dāng)預(yù)設(shè)分區(qū)為cache分區(qū)時(shí),掛載指令可以是mount cache分區(qū)的第一文件系統(tǒng)。
預(yù)設(shè)分區(qū)可以是Cache分區(qū)(其中,Cache分區(qū)是安卓系統(tǒng)緩存區(qū),用于保存系統(tǒng)最常訪問的數(shù)據(jù)和應(yīng)用程序,如保存有OTA包中的一些數(shù)據(jù))、data分區(qū)(其中,data分區(qū)是用戶數(shù)據(jù)區(qū),保存了用戶的數(shù)據(jù),如聯(lián)系人信息、短信信息、設(shè)置信息、以及用戶安裝的程序等)、系統(tǒng)分區(qū)(該系統(tǒng)分區(qū)的根目錄下,保存了操作系統(tǒng)的啟動(dòng)文件(如boot.ini、ntldr等))等。
另外,第一文件系統(tǒng)的類型可以是EXT4(Fourth extended filesystem,第四代擴(kuò)展文件系統(tǒng),是Linux系統(tǒng)下的日志文件系統(tǒng),是ext3文件系統(tǒng)的后繼版本),EXT3文件系統(tǒng),或者NTFS(New Technology File System)文件系統(tǒng)等,第一文件系統(tǒng)存儲(chǔ)在預(yù)設(shè)分區(qū)上且第一文件系統(tǒng)是當(dāng)前設(shè)備的操作系統(tǒng)用于明確預(yù)設(shè)分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu)。
在步驟S102中,讀取預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第一掛載狀態(tài);
讀取該預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第一掛載狀態(tài)時(shí),可以從超級(jí)塊信息中讀取。
在步驟S103中,當(dāng)?shù)谝粧燧d狀態(tài)為掛載失敗時(shí),確定第一文件系統(tǒng)錯(cuò)誤,其中,掛載失敗包括:第一文件系統(tǒng)的狀態(tài)為只讀和第一文件系統(tǒng)無法掛載這兩者中的至少一項(xiàng)。
在接收到掛載指令時(shí),可以根據(jù)該掛載指令將預(yù)設(shè)分區(qū)上的第一文件系統(tǒng)掛載至目標(biāo)目錄,進(jìn)而自動(dòng)讀取預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第一掛載狀態(tài),而當(dāng)?shù)谝粧燧d狀態(tài)為第一文件系統(tǒng)的狀態(tài)為只讀和/或第一文件系統(tǒng)無法掛載該預(yù)設(shè)分區(qū)時(shí),可以確認(rèn)本次掛載失敗,且可以準(zhǔn)確確定是第一文件系統(tǒng)錯(cuò)誤,甚至能夠準(zhǔn)確地識(shí)別出該第一文件系統(tǒng)中存在的具體錯(cuò)誤,同時(shí)也可以確定之前用e2fsck工具并沒有完全修復(fù)第一文件系統(tǒng)中的錯(cuò)誤;
另外,在確定該第一文件系統(tǒng)錯(cuò)誤時(shí),還可以向用戶發(fā)出提示,以使用戶明確第一文件系統(tǒng)已發(fā)生錯(cuò)誤,且這些錯(cuò)誤很可能是e2fsck工具無法自動(dòng)修復(fù)的錯(cuò)誤,以及時(shí)提醒用戶對(duì)該第一文件系統(tǒng)進(jìn)行進(jìn)一步的修復(fù),從而進(jìn)一步提高系統(tǒng)的穩(wěn)定性。
如圖2所示,在一個(gè)實(shí)施例中,上述圖1所示的方法還可包括:
在步驟S201中,在確定第一文件系統(tǒng)錯(cuò)誤時(shí),卸載預(yù)設(shè)分區(qū)。
為了避免系統(tǒng)在根據(jù)該掛載指令,將該預(yù)設(shè)分區(qū)掛載至第一文件系統(tǒng)之后,由于該掛載指令未撤銷而導(dǎo)致系統(tǒng)一直執(zhí)行將該預(yù)設(shè)分區(qū)上的第一文件系統(tǒng)掛載至目標(biāo)目錄下的操作,在確定該第一文件系統(tǒng)錯(cuò)誤時(shí),可以卸載該預(yù)設(shè)區(qū)分,以使系統(tǒng)不再盲目地執(zhí)行將該預(yù)設(shè)分區(qū)上的該第一文件系統(tǒng)掛載至目標(biāo)目錄下的操作,從而避免誤操作,減少對(duì)系統(tǒng)資源的浪費(fèi)。
另外,當(dāng)預(yù)設(shè)分區(qū)為cache分區(qū)時(shí),卸載該預(yù)設(shè)分區(qū)的指令可以是卸載(umount)cache分區(qū)的第一文件系統(tǒng)。
如圖3所示,在一個(gè)實(shí)施例中,上述圖1所示的方法還可包括:
在步驟S301中,在確定第一文件系統(tǒng)錯(cuò)誤時(shí),對(duì)預(yù)設(shè)分區(qū)進(jìn)行格式化,并重新掛載格式化之后的預(yù)設(shè)分區(qū)。
在確定第一文件系統(tǒng)錯(cuò)誤時(shí),可以對(duì)預(yù)設(shè)分區(qū)進(jìn)行格式化,并重新掛載格式化之后的預(yù)設(shè)分區(qū),以再次確定第一文件系統(tǒng)是否確實(shí)發(fā)生了錯(cuò)誤。
另外,在對(duì)預(yù)設(shè)分區(qū)進(jìn)行格式化并重新掛載格式化之后的預(yù)設(shè)分區(qū)之前,還可以使用e2fsck工具再次對(duì)第一文件系統(tǒng)進(jìn)行自動(dòng)修復(fù)和檢測(cè)。
如圖4所示,在一個(gè)實(shí)施例中,上述圖3中的步驟S301可被執(zhí)行為:
在步驟A1中,在確定第一文件系統(tǒng)錯(cuò)誤時(shí),清除預(yù)設(shè)分區(qū)中的數(shù)據(jù),并為預(yù)設(shè)分區(qū)創(chuàng)建第二文件系統(tǒng),其中,預(yù)設(shè)分區(qū)中的數(shù)據(jù)包括第一文件系統(tǒng),且由于data分區(qū)和系統(tǒng)分區(qū)中的數(shù)據(jù)相比于Cache分區(qū)更為重要,一旦清除data分區(qū)和系統(tǒng)分區(qū)中的數(shù)據(jù)損失會(huì)比較大,因而,如果該預(yù)設(shè)分區(qū)最好僅為Cache分區(qū);
在步驟A2中,將預(yù)設(shè)分區(qū)的第二文件系統(tǒng)掛載至目標(biāo)目錄下。
在對(duì)預(yù)設(shè)分區(qū)進(jìn)行格式化并重新掛載時(shí),可以先清除預(yù)設(shè)分區(qū)中的數(shù)據(jù),包括清除預(yù)設(shè)分區(qū)上的第一文件系統(tǒng),以便操作系統(tǒng)可以重新對(duì)該預(yù)設(shè)分區(qū)進(jìn)行識(shí)別,同時(shí)由于第一文件系統(tǒng)錯(cuò)誤無法掛載至目標(biāo)目錄下,因而可以為預(yù)設(shè)分區(qū)創(chuàng)建第二文件系統(tǒng)(即其他文件系統(tǒng)),以便于該預(yù)設(shè)分區(qū)的該第二文件系統(tǒng)能夠有可能被掛載至目標(biāo)目錄下,從而使得該預(yù)設(shè)分區(qū)下的數(shù)據(jù)能夠被正常讀取和使用。
另外,將格式化之后的預(yù)設(shè)分區(qū)的第二文件系統(tǒng)掛載至目標(biāo)目錄表示:將格式化之后的預(yù)設(shè)分區(qū)的第二文件系統(tǒng)掛載至當(dāng)前設(shè)備的根目錄下,或者掛載至根目錄下的某個(gè)目錄下。
如圖5所示,在一個(gè)實(shí)施例中,上述圖4所示的方法還可包括:
在步驟S501中,在將預(yù)設(shè)分區(qū)的第二文件系統(tǒng)掛載至目標(biāo)目錄之后,讀取預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第二掛載狀態(tài);
在步驟S502中,當(dāng)?shù)诙燧d狀態(tài)為掛載失敗時(shí),生成硬件損壞信息,其中,硬件損壞信息用于指示用戶當(dāng)前設(shè)備中的目標(biāo)硬件已損壞,該目標(biāo)硬件可能是硬盤、主板、內(nèi)存、中央處理器等。
在將預(yù)設(shè)分區(qū)的第二文件系統(tǒng)掛載至目標(biāo)目錄之后,可以再次讀取該預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第二掛載狀態(tài),如果該第二掛載狀態(tài)為掛載失敗時(shí),則說明當(dāng)前錯(cuò)誤已不是文件系統(tǒng)錯(cuò)誤,而是目標(biāo)硬件錯(cuò)誤而導(dǎo)致的無法掛載成功,因而可以自動(dòng)生成硬件損壞信息,以提示用戶當(dāng)前設(shè)備中的目標(biāo)硬件已損壞,從而及時(shí)提醒用戶對(duì)目標(biāo)硬件進(jìn)行修復(fù)或者更換,從而提高系統(tǒng)的穩(wěn)定性。
如圖6所示,在一個(gè)實(shí)施例中,上述圖1所示的方法還包括:
在步驟S601中,在接收到掛載指令之前,讀取預(yù)設(shè)文件下存儲(chǔ)的修復(fù)標(biāo)識(shí)位,其中,修復(fù)標(biāo)識(shí)位用于指示是否需要對(duì)第一文件系統(tǒng)進(jìn)行自動(dòng)檢測(cè)和修復(fù);
其中,修復(fù)標(biāo)識(shí)位可以是預(yù)設(shè)文件fstab中存儲(chǔ)的一個(gè)check標(biāo)志,用于指示是否需要對(duì)第一文件系統(tǒng)進(jìn)行自動(dòng)檢測(cè)和修復(fù),而該fstab可以存儲(chǔ)在預(yù)設(shè)分區(qū)中。
接收到掛載指令之前可以指系統(tǒng)上電且未接收到掛載指令,而系統(tǒng)上電表示當(dāng)前設(shè)備進(jìn)行重啟、開機(jī)等操作。
在接收到掛載指令之前,通過將預(yù)設(shè)分區(qū)上需要掛載的第一文件系統(tǒng)進(jìn)行自動(dòng)檢測(cè)和修復(fù),可以自動(dòng)判斷第一文件系統(tǒng)中是否有錯(cuò)誤,并在有錯(cuò)誤時(shí),可以及時(shí)對(duì)該第一文件系統(tǒng)進(jìn)行自動(dòng)修復(fù),從而降低第一文件系統(tǒng)損壞的概率,防止第一文件系統(tǒng)遭到進(jìn)一步的破壞,同時(shí)也使得第一文件系統(tǒng)能夠被及時(shí)更新,這有利于提高系統(tǒng)的穩(wěn)定性,提高用戶對(duì)系統(tǒng)的使用體驗(yàn),避免由于文件系統(tǒng)損壞頻率過高,而降低用戶體驗(yàn),給用戶帶來很多困擾。
另外,對(duì)第一文件系統(tǒng)進(jìn)行自動(dòng)檢測(cè)和修復(fù)可以是:使用e2fsck工具對(duì)第一文件系統(tǒng)中的超級(jí)塊(Superblock,用于存儲(chǔ)第一文件系統(tǒng)的配置參數(shù)(如塊大小、總塊數(shù)、i-節(jié)點(diǎn)數(shù))和動(dòng)態(tài)信息(當(dāng)前空閑塊數(shù)和i-節(jié)點(diǎn)數(shù)))、塊組、塊組描述符表(其中,每個(gè)塊組都對(duì)應(yīng)一個(gè)塊組描述符,這些塊組描述符統(tǒng)一放在文件系統(tǒng)的前部,稱為塊組描述符表)、i節(jié)點(diǎn)(描述文件的時(shí)間信息、大小、塊指針等信息)、塊組描述符和超級(jí)塊在塊中的位置和數(shù)據(jù)塊等參數(shù)進(jìn)行N次自動(dòng)檢測(cè)和修復(fù),其中N為正整數(shù)。
在步驟S602中,在根據(jù)修復(fù)標(biāo)識(shí)位確定需要對(duì)第一文件系統(tǒng)進(jìn)行修復(fù)時(shí),對(duì)第一文件系統(tǒng)進(jìn)行自動(dòng)檢測(cè),以修復(fù)第一文件系統(tǒng)中的錯(cuò)誤。
在根據(jù)該修復(fù)標(biāo)識(shí)位確定需要對(duì)第一文件系統(tǒng)進(jìn)行修復(fù)時(shí),通過對(duì)該第一文件系統(tǒng)進(jìn)行自動(dòng)檢測(cè),可以自動(dòng)判斷第一文件系統(tǒng)中是否有錯(cuò)誤,并在有錯(cuò)誤時(shí),可以及時(shí)地對(duì)該第一文件系統(tǒng)進(jìn)行自動(dòng)修復(fù),從而降低第一文件系統(tǒng)損壞的概率,使得第一文件系統(tǒng)能夠被及時(shí)更新,這有利于提高系統(tǒng)的穩(wěn)定性,避免由于文件系統(tǒng)損壞頻率過高,而降低用戶體驗(yàn),給用戶帶來很多困擾。
對(duì)應(yīng)本公開實(shí)施例提供的上述識(shí)別文件系統(tǒng)錯(cuò)誤的方法,本公開實(shí)施例還提供一種識(shí)別文件系統(tǒng)錯(cuò)誤的裝置,如圖7所示,該裝置包括:
掛載模塊701,被配置為在接收到掛載指令時(shí),將預(yù)設(shè)分區(qū)的第一文件系統(tǒng)掛載至目標(biāo)目錄下;
預(yù)設(shè)分區(qū)可以是Cache分區(qū)(其中,Cache分區(qū)是安卓系統(tǒng)緩存區(qū),用于保存系統(tǒng)最常訪問的數(shù)據(jù)和應(yīng)用程序,如保存有OTA包中的一些數(shù)據(jù))、data分區(qū)(其中,data分區(qū)是用戶數(shù)據(jù)區(qū),保存了用戶的數(shù)據(jù),如聯(lián)系人信息、短信信息、設(shè)置信息、以及用戶安裝的程序等)、系統(tǒng)分區(qū)(該系統(tǒng)分區(qū)的根目錄下,保存了操作系統(tǒng)的啟動(dòng)文件(如boot.ini、ntldr等))等。
另外,第一文件系統(tǒng)的類型可以是EXT4(Fourth extended filesystem,第四代擴(kuò)展文件系統(tǒng),是Linux系統(tǒng)下的日志文件系統(tǒng),是ext3文件系統(tǒng)的后繼版本),EXT3文件系統(tǒng),或者NTFS(New Technology File System)文件系統(tǒng)等,第一文件系統(tǒng)存儲(chǔ)在預(yù)設(shè)分區(qū)上且第一文件系統(tǒng)是當(dāng)前設(shè)備的操作系統(tǒng)用于明確預(yù)設(shè)分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu)。
第一讀取模塊702,被配置為讀取預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第一掛載狀態(tài);
讀取該預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第一掛載狀態(tài)時(shí),可以從超級(jí)塊信息中讀取。
確定模塊703,被配置為當(dāng)?shù)谝粧燧d狀態(tài)為掛載失敗時(shí),確定第一文件系統(tǒng)錯(cuò)誤,其中,掛載失敗包括:第一文件系統(tǒng)的狀態(tài)為只讀和第一文件系統(tǒng)無法掛載這兩者中的至少一項(xiàng)。
在接收到掛載指令時(shí),可以根據(jù)該掛載指令將預(yù)設(shè)分區(qū)上的第一文件系統(tǒng)掛載至目標(biāo)目錄,進(jìn)而自動(dòng)讀取預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第一掛載狀態(tài),而當(dāng)?shù)谝粧燧d狀態(tài)為第一文件系統(tǒng)的狀態(tài)為只讀和/或第一文件系統(tǒng)無法掛載該預(yù)設(shè)分區(qū)時(shí),可以確認(rèn)本次掛載失敗,且可以準(zhǔn)確確定是第一文件系統(tǒng)錯(cuò)誤,甚至能夠準(zhǔn)確地識(shí)別出該第一文件系統(tǒng)中存在的具體錯(cuò)誤,同時(shí)也可以確定之前用e2fsck工具并沒有完全修復(fù)第一文件系統(tǒng)中的錯(cuò)誤;
另外,在確定該第一文件系統(tǒng)錯(cuò)誤時(shí),還可以向用戶發(fā)出提示,以使用戶明確第一文件系統(tǒng)已發(fā)生錯(cuò)誤,且這些錯(cuò)誤很可能是e2fsck工具無法自動(dòng)修復(fù)的錯(cuò)誤,以及時(shí)提醒用戶對(duì)該第一文件系統(tǒng)進(jìn)行進(jìn)一步的修復(fù),從而進(jìn)一步提高系統(tǒng)的穩(wěn)定性。
如圖8所示,在一個(gè)實(shí)施例中,上述圖7所示的裝置還可包括:
卸載模塊801,被配置為在確定第一文件系統(tǒng)錯(cuò)誤時(shí),卸載預(yù)設(shè)分區(qū)。
為了避免系統(tǒng)在根據(jù)該掛載指令,將該預(yù)設(shè)分區(qū)掛載至第一文件系統(tǒng)之后,由于該掛載指令未撤銷而導(dǎo)致系統(tǒng)一直執(zhí)行將該預(yù)設(shè)分區(qū)上的掛載至第一文件系統(tǒng)掛載至目標(biāo)目錄下的操作,在確定該第一文件系統(tǒng)錯(cuò)誤時(shí),可以卸載該預(yù)設(shè)區(qū)分,以使系統(tǒng)不再盲目地執(zhí)行將該預(yù)設(shè)分區(qū)掛載上的該第一文件系統(tǒng)掛載至目標(biāo)目錄下的操作,從而避免誤操作,減少對(duì)系統(tǒng)資源的浪費(fèi)。
另外,當(dāng)預(yù)設(shè)分區(qū)為cache分區(qū)時(shí),卸載該預(yù)設(shè)分區(qū)的指令可以是umountcache分區(qū)第一文件系統(tǒng)。
如圖9所示,在一個(gè)實(shí)施例中,上述圖7所示的裝置還可包括:
第一處理模塊901,被配置為在確定第一文件系統(tǒng)錯(cuò)誤時(shí),對(duì)預(yù)設(shè)分區(qū)進(jìn)行格式化,并重新掛載格式化之后的預(yù)設(shè)分區(qū)。
在確定第一文件系統(tǒng)錯(cuò)誤時(shí),可以對(duì)預(yù)設(shè)分區(qū)進(jìn)行格式化,并重新掛載格式化之后的預(yù)設(shè)分區(qū),以再次確定第一文件系統(tǒng)是否確實(shí)發(fā)生了錯(cuò)誤。
另外,在對(duì)預(yù)設(shè)分區(qū)進(jìn)行格式化并重新掛載格式化之后的預(yù)設(shè)分區(qū)之前,還可以使用e2fsck工具再次對(duì)第一文件系統(tǒng)進(jìn)行自動(dòng)修復(fù)和檢測(cè)。
如圖10所示,在一個(gè)實(shí)施例中,上述圖9所示的第一處理模塊901可以包括:
處理子模塊9011,被配置為在確定第一文件系統(tǒng)錯(cuò)誤時(shí),清除預(yù)設(shè)分區(qū)中的數(shù)據(jù),并為預(yù)設(shè)分區(qū)創(chuàng)建第二文件系統(tǒng),其中,預(yù)設(shè)分區(qū)中的數(shù)據(jù)包括第一文件系統(tǒng),且由于data分區(qū)和系統(tǒng)分區(qū)中的數(shù)據(jù)相比于Cache分區(qū)更為重要,一旦清除data分區(qū)和系統(tǒng)分區(qū)中的數(shù)據(jù)損失會(huì)比較大,因而,如果該預(yù)設(shè)分區(qū)最好僅為Cache分區(qū);
掛載子模塊9012,被配置為將預(yù)設(shè)分區(qū)的第二文件系統(tǒng)掛載至目標(biāo)目錄下。
在對(duì)預(yù)設(shè)分區(qū)進(jìn)行格式化并重新掛載時(shí),可以先清除預(yù)設(shè)分區(qū)中的數(shù)據(jù),包括清除預(yù)設(shè)分區(qū)上的第一文件系統(tǒng),以便操作系統(tǒng)可以重新對(duì)該預(yù)設(shè)分區(qū)進(jìn)行識(shí)別,同時(shí)由于第一文件系統(tǒng)錯(cuò)誤無法掛載預(yù)設(shè)分區(qū),因而可以為預(yù)設(shè)分區(qū)創(chuàng)建第二文件系統(tǒng)(即其他文件系統(tǒng)),以便于該預(yù)設(shè)分區(qū)的該第二文件系統(tǒng)能夠有可能被掛載至目標(biāo)目錄下,從而使得該預(yù)設(shè)分區(qū)下的數(shù)據(jù)能夠被正常讀取和使用。
另外,將格式化之后的預(yù)設(shè)分區(qū)的第二文件系統(tǒng)掛載至目標(biāo)目錄表示:將格式化之后的預(yù)設(shè)分區(qū)的第二文件系統(tǒng)掛載至當(dāng)前設(shè)備的根目錄下,或者掛載至根目錄下的某個(gè)目錄下。
如圖11所示,在一個(gè)實(shí)施例中,上述圖10所示的裝置還可包括:
第二讀取模塊1101,被配置為將預(yù)設(shè)分區(qū)的第二文件系統(tǒng)掛載至目標(biāo)目錄下之后,讀取預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第二掛載狀態(tài);
生成模塊1102,被配置為當(dāng)?shù)诙燧d狀態(tài)為掛載失敗時(shí),生成硬件損壞信息,其中,硬件損壞信息用于指示用戶當(dāng)前設(shè)備中的目標(biāo)硬件已損壞。
在將預(yù)設(shè)分區(qū)的第二文件系統(tǒng)掛載至目標(biāo)目錄之后,可以再次讀取該預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第二掛載狀態(tài),如果該第二掛載狀態(tài)為掛載失敗時(shí),則說明當(dāng)前錯(cuò)誤已不是文件系統(tǒng)錯(cuò)誤,而是目標(biāo)硬件錯(cuò)誤而導(dǎo)致的無法掛載成功,因而可以自動(dòng)生成硬件損壞信息,以提示用戶當(dāng)前設(shè)備中的目標(biāo)硬件已損壞,從而及時(shí)提醒用戶對(duì)目標(biāo)硬件進(jìn)行修復(fù)或者更換,從而提高系統(tǒng)的穩(wěn)定性。
如圖12所示,在一個(gè)實(shí)施例中,上述圖7所示的裝置還包括:
第三讀取模塊1201,被配置為接收到掛載指令之前,讀取預(yù)設(shè)文件下存儲(chǔ)的修復(fù)標(biāo)識(shí)位,其中,修復(fù)標(biāo)識(shí)位用于指示是否需要對(duì)第一文件系統(tǒng)進(jìn)行自動(dòng)檢測(cè)和修復(fù);
在接收到掛載指令(如系統(tǒng)上電且未接收到掛載指令)之前,通過將預(yù)設(shè)分區(qū)上需要掛載的第一文件系統(tǒng)進(jìn)行自動(dòng)檢測(cè)和修復(fù),可以自動(dòng)判斷第一文件系統(tǒng)中是否有錯(cuò)誤,并在有錯(cuò)誤時(shí),可以及時(shí)對(duì)該第一文件系統(tǒng)進(jìn)行自動(dòng)修復(fù),從而降低第一文件系統(tǒng)損壞的概率,使得第一文件系統(tǒng)能夠被及時(shí)更新,這有利于提高系統(tǒng)的穩(wěn)定性,提高用戶對(duì)系統(tǒng)的使用體驗(yàn),避免由于文件系統(tǒng)損壞頻率過高,而降低用戶體驗(yàn),給用戶帶來很多困擾。
第二處理模塊1202,被配置為在根據(jù)修復(fù)標(biāo)識(shí)位確定需要對(duì)第一文件系統(tǒng)進(jìn)行修復(fù)時(shí),對(duì)第一文件系統(tǒng)進(jìn)行自動(dòng)檢測(cè),以修復(fù)第一文件系統(tǒng)中的錯(cuò)誤。
在根據(jù)該修復(fù)標(biāo)識(shí)位確定需要對(duì)第一文件系統(tǒng)進(jìn)行修復(fù)時(shí),通過對(duì)該第一文件系統(tǒng)進(jìn)行自動(dòng)檢測(cè),可以自動(dòng)判斷第一文件系統(tǒng)中是否有錯(cuò)誤,并在有錯(cuò)誤時(shí),可以及時(shí)地對(duì)該第一文件系統(tǒng)進(jìn)行自動(dòng)修復(fù),從而降低第一文件系統(tǒng)損壞的概率,使得第一文件系統(tǒng)能夠被及時(shí)更新,這有利于提高系統(tǒng)的穩(wěn)定性,避免由于文件系統(tǒng)損壞頻率過高,而降低用戶體驗(yàn),給用戶帶來很多困擾。
根據(jù)本公開實(shí)施例的第三方面,提供一種識(shí)別文件系統(tǒng)錯(cuò)誤的裝置,包括:
處理器;
用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;
其中,處理器被配置為:
在接收到掛載指令時(shí),將預(yù)設(shè)分區(qū)上需要掛載的第一文件系統(tǒng)掛載至目標(biāo)目錄下;
讀取所述預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第一掛載狀態(tài);
當(dāng)所述第一掛載狀態(tài)為掛載失敗時(shí),確定所述第一文件系統(tǒng)錯(cuò)誤,其中,所述掛載失敗包括:所述第一文件系統(tǒng)的狀態(tài)為只讀和所述第一文件系統(tǒng)無法掛載這兩者中的至少一項(xiàng)。
上述處理器還可被配置為:
所述方法還包括:
在確定所述第一文件系統(tǒng)錯(cuò)誤時(shí),卸載所述預(yù)設(shè)分區(qū)。
上述處理器還可被配置為:
所述方法還包括:
在確定所述第一文件系統(tǒng)錯(cuò)誤時(shí),對(duì)所述預(yù)設(shè)分區(qū)進(jìn)行格式化,并重新掛載格式化之后的所述預(yù)設(shè)分區(qū)。
上述處理器還可被配置為:
所述在確定所述第一文件系統(tǒng)錯(cuò)誤時(shí),對(duì)所述預(yù)設(shè)分區(qū)進(jìn)行格式化,并重新掛載格式化之后的所述預(yù)設(shè)分區(qū),包括:
在確定所述第一文件系統(tǒng)錯(cuò)誤時(shí),清除所述預(yù)設(shè)分區(qū)中的數(shù)據(jù),并為所述預(yù)設(shè)分區(qū)創(chuàng)建第二文件系統(tǒng),其中,所述預(yù)設(shè)分區(qū)中的數(shù)據(jù)包括所述第一文件系統(tǒng);
將所述預(yù)設(shè)分區(qū)的所述第二文件系統(tǒng)掛載至所述目標(biāo)目錄下。
上述處理器還可被配置為:
所述方法還包括:
在將所述預(yù)設(shè)分區(qū)的所述第二文件系統(tǒng)掛載至所述目標(biāo)目錄之后,讀取所述預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第二掛載狀態(tài);
當(dāng)所述第二掛載狀態(tài)為掛載失敗時(shí),生成硬件損壞信息,其中,所述硬件損壞信息用于指示用戶當(dāng)前設(shè)備中的目標(biāo)硬件已損壞。
上述處理器還可被配置為:
上述方法還包括:在接收到所述掛載指令之前,讀取預(yù)設(shè)文件下存儲(chǔ)的修復(fù)標(biāo)識(shí)位,其中,所述修復(fù)標(biāo)識(shí)位用于指示是否需要對(duì)所述第一文件系統(tǒng)進(jìn)行自動(dòng)檢測(cè)和修復(fù);
在根據(jù)所述修復(fù)標(biāo)識(shí)位確定需要對(duì)所述第一文件系統(tǒng)進(jìn)行修復(fù)時(shí),對(duì)所述第一文件系統(tǒng)進(jìn)行自動(dòng)檢測(cè),以修復(fù)所述第一文件系統(tǒng)中的錯(cuò)誤。
圖13是根據(jù)一示例性實(shí)施例示出的一種用于識(shí)別文件系統(tǒng)錯(cuò)誤的裝置1300的框圖,該裝置適用于終端設(shè)備。例如,裝置1300可以是移動(dòng)電話,計(jì)算機(jī),數(shù)字廣播終端,消息收發(fā)設(shè)備,游戲控制臺(tái),平板設(shè)備,醫(yī)療設(shè)備,健身設(shè)備,個(gè)用戶數(shù)字助理等。
參照?qǐng)D13,裝置1300可以包括以下一個(gè)或至少兩個(gè)組件:處理組件1302,存儲(chǔ)器1304,電源組件1306,多媒體組件1308,音頻組件1310,輸入/輸出(I/O)接口1312,傳感器組件1314,以及通信組件1316。
處理組件1302通??刂蒲b置1300的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機(jī)操作和記錄操作相關(guān)聯(lián)的操作。處理組件1302可以包括一個(gè)或至少兩個(gè)處理器1320來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件1302可以包括一個(gè)或至少兩個(gè)模塊,便于處理組件1302和其他組件之間的交互。例如,處理組件1302可以包括多媒體模塊,以方便多媒體組件1308和處理組件1302之間的交互。
存儲(chǔ)器1304被配置為存儲(chǔ)各種類型的數(shù)據(jù)以支持在裝置1300的操作。這些數(shù)據(jù)的示例包括用于在裝置1300上操作的任何存儲(chǔ)對(duì)象或方法的指令,聯(lián)系用戶數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲(chǔ)器1304可以由任何類型的易失性或非易失性存儲(chǔ)設(shè)備或者它們的組合實(shí)現(xiàn),如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM),電可擦除可編程只讀存儲(chǔ)器(EEPROM),可擦除可編程只讀存儲(chǔ)器(EPROM),可編程只讀存儲(chǔ)器(PROM),只讀存儲(chǔ)器(ROM),磁存儲(chǔ)器,快閃存儲(chǔ)器,磁盤或光盤。
電源組件1306為裝置1300的各種組件提供電源。電源組件1306可以包括電源管理系統(tǒng),一個(gè)或至少兩個(gè)電源,及其他與為裝置1300生成、管理和分配電源相關(guān)聯(lián)的組件。
多媒體組件1308包括在所述裝置1300和用戶之間的提供一個(gè)輸出接口的屏幕。在一些實(shí)施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實(shí)現(xiàn)為觸摸屏,以接收來自用戶的輸入信號(hào)。觸摸面板包括一個(gè)或至少兩個(gè)觸摸傳感器以感測(cè)觸摸、滑動(dòng)和觸摸面板上的手勢(shì)。所述觸摸傳感器可以不僅感測(cè)觸摸或滑動(dòng)動(dòng)作的邊界,而且還檢測(cè)與所述觸摸或滑動(dòng)操作相關(guān)的持續(xù)時(shí)間和壓力。在一些實(shí)施例中,多媒體組件1308包括一個(gè)前置攝像頭和/或后置攝像頭。當(dāng)裝置1300處于操作模式,如拍攝模式或視頻模式時(shí),前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個(gè)前置攝像頭和后置攝像頭可以是一個(gè)固定的光學(xué)透鏡系統(tǒng)或具有焦距和光學(xué)變焦能力。
音頻組件1310被配置為輸出和/或輸入音頻信號(hào)。例如,音頻組件1310包括一個(gè)麥克風(fēng)(MIC),當(dāng)裝置1300處于操作模式,如呼叫模式、記錄模式和語(yǔ)音識(shí)別模式時(shí),麥克風(fēng)被配置為接收外部音頻信號(hào)。所接收的音頻信號(hào)可以被進(jìn)一步存儲(chǔ)在存儲(chǔ)器1304或經(jīng)由通信組件1316發(fā)送。在一些實(shí)施例中,音頻組件1310還包括一個(gè)揚(yáng)聲器,用于輸出音頻信號(hào)。
I/O接口1312為處理組件1302和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點(diǎn)擊輪,按鈕等。這些按鈕可包括但不限于:主頁(yè)按鈕、音量按鈕、啟動(dòng)按鈕和鎖定按鈕。
傳感器組件1314包括一個(gè)或至少兩個(gè)傳感器,用于為裝置1300提供各個(gè)方面的狀態(tài)評(píng)估。例如,傳感器組件1314可以檢測(cè)到裝置1300的打開/關(guān)閉狀態(tài),組件的相對(duì)定位,例如所述組件為裝置1300的顯示器和小鍵盤,傳感器組件1314還可以檢測(cè)裝置1300或裝置1300一個(gè)組件的位置改變,用戶與裝置1300接觸的存在或不存在,裝置1300方位或加速/減速和裝置1300的溫度變化。傳感器組件1314可以包括接近傳感器,被配置用來在沒有任何的物理接觸時(shí)檢測(cè)附近物體的存在。傳感器組件1314還可以包括光傳感器,如CMOS或CCD圖像傳感器,用于在成像應(yīng)用中使用。在一些實(shí)施例中,該傳感器組件1314還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
通信組件1316被配置為便于裝置1300和其他設(shè)備之間有線或無線方式的通信。裝置1300可以接入基于通信標(biāo)準(zhǔn)的無線網(wǎng)絡(luò),如WiFi,2G或3G,或它們的組合。在一個(gè)示例性實(shí)施例中,通信組件1316經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號(hào)或廣播相關(guān)信息。在一個(gè)示例性實(shí)施例中,所述通信組件1316還包括近場(chǎng)通信(NFC)模塊,以促進(jìn)短程通信。例如,在NFC模塊可基于射頻識(shí)別(RFID)技術(shù),紅外數(shù)據(jù)協(xié)會(huì)(IrDA)技術(shù),超寬帶(UWB)技術(shù),藍(lán)牙(BT)技術(shù)和其他技術(shù)來實(shí)現(xiàn)。
在示例性實(shí)施例中,裝置1300可以被一個(gè)或至少兩個(gè)應(yīng)用專用集成電路(ASIC)、數(shù)字信號(hào)處理器(DSP)、數(shù)字信號(hào)處理設(shè)備(DSPD)、可編程邏輯器件(PLD)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子組件實(shí)現(xiàn),用于執(zhí)行上述方法。
在示例性實(shí)施例中,還提供了一種包括指令的非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如包括指令的存儲(chǔ)器1304,上述指令可由裝置1300的處理器1320執(zhí)行以完成上述方法。例如,所述非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是ROM、隨機(jī)存取存儲(chǔ)器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲(chǔ)設(shè)備等。
一種非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)所述存儲(chǔ)介質(zhì)中的指令由上述裝置1300的處理器執(zhí)行時(shí),使得上述裝置1300能夠執(zhí)行一種識(shí)別文件系統(tǒng)錯(cuò)誤的方法,包括:
在接收到掛載指令時(shí),將預(yù)設(shè)分區(qū)上需要掛載第一文件系統(tǒng)掛載至目標(biāo)目錄下;
讀取所述預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第一掛載狀態(tài);
當(dāng)所述第一掛載狀態(tài)為掛載失敗時(shí),確定所述第一文件系統(tǒng)錯(cuò)誤,其中,所述掛載失敗包括:所述第一文件系統(tǒng)的狀態(tài)為只讀和所述第一文件系統(tǒng)無法掛載這兩者中的至少一項(xiàng)。
在一個(gè)實(shí)施例中,所述方法還包括:
在確定所述第一文件系統(tǒng)錯(cuò)誤時(shí),卸載所述預(yù)設(shè)分區(qū)。
在一個(gè)實(shí)施例中,所述方法還包括:
在確定所述第一文件系統(tǒng)錯(cuò)誤時(shí),對(duì)所述預(yù)設(shè)分區(qū)進(jìn)行格式化,并重新掛載格式化之后的所述預(yù)設(shè)分區(qū)。
在一個(gè)實(shí)施例中,所述在確定所述第一文件系統(tǒng)錯(cuò)誤時(shí),對(duì)所述預(yù)設(shè)分區(qū)進(jìn)行格式化,并重新掛載格式化之后的所述預(yù)設(shè)分區(qū),包括:
在確定所述第一文件系統(tǒng)錯(cuò)誤時(shí),清除所述預(yù)設(shè)分區(qū)中的數(shù)據(jù),并為所述預(yù)設(shè)分區(qū)創(chuàng)建第二文件系統(tǒng),其中,所述預(yù)設(shè)分區(qū)中的數(shù)據(jù)包括所述第一文件系統(tǒng);
將所述預(yù)設(shè)分區(qū)的所述第二文件系統(tǒng)掛載至所述目標(biāo)目錄下。
在一個(gè)實(shí)施例中,所述方法還包括:
在將所述預(yù)設(shè)分區(qū)的所述第二文件系統(tǒng)掛載至所述目標(biāo)目錄之后,讀取所述預(yù)設(shè)分區(qū)當(dāng)前對(duì)應(yīng)的第二掛載狀態(tài);
當(dāng)所述第二掛載狀態(tài)為掛載失敗時(shí),生成硬件損壞信息,其中,所述硬件損壞信息用于指示用戶當(dāng)前設(shè)備中的目標(biāo)硬件已損壞。
在一個(gè)實(shí)施例中,所述方法還包括:在接收到所述掛載指令之前,讀取預(yù)設(shè)文件下存儲(chǔ)的修復(fù)標(biāo)識(shí)位,其中,所述修復(fù)標(biāo)識(shí)位用于指示是否需要對(duì)所述第一文件系統(tǒng)進(jìn)行自動(dòng)檢測(cè)和修復(fù);
在根據(jù)所述修復(fù)標(biāo)識(shí)位確定需要對(duì)所述第一文件系統(tǒng)進(jìn)行修復(fù)時(shí),對(duì)所述第一文件系統(tǒng)進(jìn)行自動(dòng)檢測(cè),以修復(fù)所述第一文件系統(tǒng)中的錯(cuò)誤。
本領(lǐng)域技術(shù)用戶員在考慮說明書及實(shí)踐這里公開的公開后,將容易想到本公開的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本公開的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本公開的一般性原理并包括本公開未公開的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本公開的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本公開并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本公開的范圍僅由所附的權(quán)利要求來限制。