Android 常用文件系統命令

Android 常用文件系統命令

當系統正在對某個文件系統的區域進行寫入操作時(讀的話沒關系),突然斷電,會造成文件系統對應區域的損壞(如寫入臟數據), 而e2fsck算法就是用來恢復受損的文件系統,目的是:系統能夠重啟后,一切正常。當然,有損壞,想原樣修復,當然不能100%保證,所以,就遇到了某些系統文件丟失,或者文件屬性發生變化的事情。 文件損壞會報錯structure needs cleaning(結構需要清理)。

Android車機系統的重啟,默認是從通過QNX直接給Android掉電,沒有走Android的正常重啟流程;所以會造成Android系統一些分區的損壞,這需要了解一些文件系統的常用命令,來進行文件分區的查看,修復操作。整理一些常用的文件系統命令。

1.常用命令解析

1.1 mkfs.ext4

mkfs.ext4 參數-b block-size 塊大小(1k,2k,4k)
-c 壞塊測試
-l filename從文件讀壞塊列表
-C cluster-size 簇大小 (大塊分配持性)
-D 使用direct I/O
-E 擴展屬性mmp_update_interval=MMP更新時間間隔,必需小于300sstride=條塊大小(RAID組中每個條帶單元chunk大小)stripe_width=條帶大小 (單位為block),(在數據定時,塊分配器盡可能的防止產生read-modify-write)resize=保留在線調整時的空間大小lazy_itable_init=0/1 inode表不完全初始化 (掛載時由內核在后臺初始化)    // 40TG mount后50M寫初始化55分鐘 (格式化時:20s,強制初始化時:7min)  (mkfs.ext4 -E lazy_itable_init=0,lazy_journal_init=0 )lazy_journal_init=0/1日志inode表不完全清0test_fs設置文件系統體驗標志-F(force 強制)
-f  fragment-size  指定片段大小
-g blocks-per-group  指定每一個塊組內塊的數量
-G number-of-groups  指定塊組數量(在元數據負載重時可以提高元數據性能)
-i bytes-per-inode  指定 bytes/inode 比率
-I inode-size 指定inode大小
-j 創建一個ext3日志。默認創建合適大小的日志區
-J 創建指定屬性的日志。逗號分隔。 (size=1024塊 內部日志大小,device= 外部日志設備 )size= journal-size  內部日志大小,單位為M,最小為1024個文件系統塊,(最大為10240000個文件系統塊或文件系統的一半)device = external-journal 外部日志塊設備(設備名,標簽,UUID)外部日志必需先創建:mke2fs -b 4096 -O journal_dev  external-journal (/dev/ramhda)mkfs.ext4 -J device= external-journal (/dev/ramhda)  -F /dev/mapper/vggxxxxxxx
-L 設置volume 標簽,最長為16個byte
-m 指定保留空間百分比,為root用戶
-M 設置最后掛載目錄
-n 不真正創建文件系統,只是顯示創建的信息
-S  只寫超級塊和塊組描述符。(當超級塊和備份超級塊錯誤后,可以用來恢復數據。因為它不會touching inode表和bitmap)
-O feature 指定創建文件系統時的持性(/etc/mke2fs.conf)bigalloc 使能大塊分配(cluster-size)dir_index 使用哈希B樹加速目錄查找extents 使用extents替代間接塊filetype在目錄項中存儲文件類型信息flex_bg 允許為每一個塊組元數據(分配bitmap和inode表)存放在任何位置has_journal  創建ext3日志(-j)journal_dev 在給定的設備上創建外部ext3日志large_file 支持>2G的文件(現代內核會自動打開)quota 創建quota inodes(inode#3為用戶配額,inode#4為組配額) ,并在超級塊中設置。(掛載后自己啟用quota)resize_inode 保留空間以便未來塊組描述表增長。用于resize2fssparse_super 創建少量的超緩塊拷貝uninit_bg   創建文件系統時不初始化所有的塊組,加速創建時間,和e2fsck時間、
-O^has_journal   不啟用日志

1.2 resize2fs命令

resize2fs可用于調整ext2、ext3或ext4文件系統的大小。它可以用來擴容或縮小位于設備上的已卸載的文件系統。參數:-f      :強制執行 resize 操作[device]:分區名;[size]  :可以加也可以不加。如果加上 size 的話,加上一個單位例如 M,G。

1.3 e2fsck命令

指令:e2fsck

使用權限 : 超級使用者
使用方式 : e2fsck [-pacnydfvFV] [-b superblock] [-B blocksize] [-l|-L bad_blocks_file] [-C fd] device
參數 :device : 預備檢查的硬碟 partition,例如:/dev/sda1-a : 對 partition 做檢查,若有問題便自動修復,等同 -p 的功能-b : 設定存放 superblock 的位置-B : 設定單位 block 的大小-c : 檢查該partition 是否有壞軌-C file : 將檢查的結果存到 file 中以便查看-d : 列印 e2fsck 的 debug 結果-f : 強制檢查-F : 在開始檢查前,將device 的 buffer cache 清空,避免有錯誤發生-l bad_blocks_file : 將有壞軌的block資料加到 bad_blocks_file 里面-L bad_blocks_file : 設定壞軌的block資料存到 bad_blocks_file 里面,若無該檔則自動產生-n : 將檔案系統以[唯讀]方式開啟-p : 對 partition 做檢查,若有問題便自動修復-v : 詳細顯示模式-V : 顯示出目前 e2fsck 的版本-y : 預先設定所有檢查時的問題均回答[是]

  大部份使用 e2fsck 來檢查硬碟 partition 的情況時,通常都是情形特殊,因此最好先將該 partition umount,然后再執行 e2fsck 來做檢查,若是要非要檢查 / 時,則請進入 singal user mode 再執行。

1.4 fsck 命令

參數 :
filesys : device 名稱(eg./dev/sda1),mount 點 (eg. / 或 /usr)
-t : 給定檔案系統的型式,若在 /etc/fstab 中已有定義或 kernel 本身已支援的則不需加上此參數
-s : 依序一個一個地執行 fsck 的指令來檢查
-A : 對/etc/fstab 中所有列出來的 partition 做檢查
-C : 顯示完整的檢查進度
-d : 列印 e2fsck 的 debug 結果
-p : 同時有 -A 條件時,同時有多個 fsck 的檢查一起執行
-R : 同時有 -A 條件時,省略 / 不檢查
-V : 詳細顯示模式
-y : 預先設定所有檢查時的問題均回答[是]
-a : 如果檢查有錯則自動修復
-r : 如果檢查有錯則由使用者回答是否修復 參數 :
filesys : device 名稱(eg./dev/sda1),mount 點 (eg. / 或 /usr)
-t : 給定檔案系統的型式,若在 /etc/fstab 中已有定義或 kernel 本身已支援的則不需加上此參數
-s : 依序一個一個地執行 fsck 的指令來檢查
-A : 對/etc/fstab 中所有列出來的 partition 做檢查
-C : 顯示完整的檢查進度
-d : 列印 e2fsck 的 debug 結果
-p : 同時有 -A 條件時,同時有多個 fsck 的檢查一起執行
-R : 同時有 -A 條件時,省略 / 不檢查
-V : 詳細顯示模式
-y : 預先設定所有檢查時的問題均回答[是]
-a : 如果檢查有錯則自動修復
-r : 如果檢查有錯則由使用者回答是否修復 

注意 :

此指令可與 /etc/fstab 相互參考操作來加以了解。

1.5 e2fsck與fsck的區別

e2fsck只是針對ext2、ext3、ext4等ext系列文件系統的工具,fsck支持檢查各種不同的文件系統,包含ext系列文件系統。

2.使用示例

2.1 e2fsck使用示例

檢查 /dev/hda5 是否正常,如果有異常便自動修復,并且設定若有問答,均回答[是] :

e2fsck -a -y /dev/hda5

2.2 fsck使用示例

  1. 檢查 msdos 檔案系統的 /dev/hda5 是否正常,如果有異常便自動修復 :

fsck -t msdos -a /dev/hda5
  1. 修復Android的ext4分區

整個操作會刪除掛載點所有文件,需要注意備份

1 首先df -t 查看出錯的掛載點對應的文件系統和文件系統類型

2 然后umount這個文件系統 比如:umount /dev/sda1

3 然后根據文件系統類型不同操作不同,比如ext4:

fsck.ext4 /dev/sda1

4 最后重啟reboot

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/38743.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/38743.shtml
英文地址,請注明出處:http://en.pswp.cn/web/38743.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

力扣1177.構建回文串檢測

力扣1177.構建回文串檢測 因為子串可以重新排序 因此考慮一下什么情況需要替換字母1.當前有一個字母的數量為奇數 需要替換的次數為0 2.當前有二個字母的數量為奇數 需要替換的次數為1 (奇數個a 奇數個b 需要將b -> a) 3.當前有三個字母的數量為奇數 需要替換的次數為1 4.當…

Edge瀏覽器選中后,出現AI智能生成 AI專業寫作

這個是擴展里邊的“ 網頁萬能復制 & ChatGPT AI寫作助手”造成的,這個拓展增加了AI寫作功能。關閉這個拓展就解決了。

入門Axure:快速掌握原型設計技能

2002 年,維克托和馬丁在舊金山灣區的一家初創公司工作,發現自己一再被軟件開發生命周期的限制所困擾,而且產品團隊在編寫規范之前很難評估他們的解決方案,開發人員經常不理解(或不閱讀)給出的規范&#xff…

承載網與核心網的區別

承載網和核心網是通信網絡中的兩個重要組成部分,它們有以下主要區別: 功能方面: 承載網主要負責提供數據傳輸的通道和鏈路,確保各種業務數據能夠在網絡中高效、可靠地傳輸。它類似于通信網絡中的“道路”,專注于數據的…

【linux學習---1】點亮一個LED---驅動一個GPIO

文章目錄 1、原理圖找對應引腳2、IO復用3、IO配置4、GPIO配置5、GPIO時鐘使能6、總結 1、原理圖找對應引腳 從上圖 可以看出, 蜂鳴器 接到了 BEEP 上, BEEP 就是 GPIO5_IO05 2、IO復用 查找IMX6UL參考手冊 和 STM32一樣,如果某個 IO 要作為…

14-16 AI Agent:您無法忽視的盈利未來

忘掉關于機器人接管我們工作的爭論吧。一場更加微妙、可能更有利可圖的革命正在醞釀之中——智能代理的崛起,而智能代理的光芒常常被其更簡單的“表親”虛擬助理所掩蓋。 雖然 Siri 和 Alexa 可以處理基本任務和基本對話,但人工智能代理則完全不同。想象…

HTML5的多線程技術:Web Worker API

Web Workers API 是HTML5的一項技術,它允許在瀏覽器后臺獨立于主線程運行腳本,即允許進行多線程處理。這對于執行密集型計算任務特別有用,因為它可以防止這些任務阻塞用戶界面,從而保持網頁的響應性和交互性。Web Workers在自己的…

中國動物志(140卷)

中國動物志,共140卷,包括昆蟲綱、鳥綱、獸綱、無脊椎動物、硬骨魚綱等多類,是反映我國動物分類區系研究工作成果的系列專著,是研究物種多樣性、探討物種演化和系統發育的重要參考,是動物資源開發利用、有害物種控制、瀕…

昇思25天學習打卡營第12天|linchenfengxue

DCGAN生成漫畫頭像 通過示例代碼說明DCGAN網絡如何設置網絡、優化器、如何計算損失函數以及如何初始化模型權重。 GAN基礎原理 生成式對抗網絡(Generative Adversarial Networks,GAN)是一種生成式機器學習模型,是近年來復雜分布上無監督學習最具前景的…

esp32 模擬藍牙鍵盤不生效一例

esp32 使用 GitHub - T-vK/ESP32-BLE-Keyboard: Bluetooth LE Keyboard library for the ESP32 (Arduino IDE compatible) 這個開源庫模擬鍵盤功能早之前已經玩過,生效,昨天再來玩的時候發覺莫名奇妙居然又不能用了,各種折騰:換了…

如何在Java中使用Kafka

如何在Java中使用Kafka 大家好,我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編,也是冬天不穿秋褲,天冷也要風度的程序猿! Kafka是一個分布式流處理平臺,廣泛用于實時數據流的處理和傳輸。本文將詳細…

什么是Web3D交互展示?有什么優勢?

在智能互聯網蓬勃發展的時代,傳統的圖片、文字及視頻等展示手段因缺乏互動性,正逐漸在吸引用戶注意力和提升宣傳效果上顯得力不從心。而Web3D交互展示技術的橫空出世,則為眾多品牌與企業開啟了一扇全新的展示之門,讓線上產品體驗從…

【C語言】extern 關鍵字

在C語言中,extern關鍵字用于聲明一個變量或函數是定義在另一個文件中的。它使得在多個文件之間共享變量或函數成為可能。extern關鍵字常見于大型項目中,通常用于聲明全局變量或函數,這些變量或函數的定義位于其他文件中。 基本用法 變量聲明…

Python基礎入門知識

目錄 引言 簡要介紹Python語言 為什么要學習Python Python的應用領域 Python安裝和環境配置 Python的下載和安裝(Windows, macOS, Linux) 配置Python環境變量 安裝和使用IDE(如PyCharm, VS Code) Python基本語法 注釋 變量和數據類型(數字,字符串,列表,元組,字典,…

P3374 【模板】樹狀數組 1

題目描述 如題,已知一個數列,你需要進行下面兩種操作: 將某一個數加上 𝑥x 求出某區間每一個數的和 輸入格式 第一行包含兩個正整數 𝑛,𝑚n,m,分別表示該數列數字的個數和操作的總個數。 …

<sa8650>sa8650 qcxserver-之-攝像頭傳感器VB56G4A驅動開發<1>

<sa8650>sa8650 qcxserver-之-攝像頭傳感器VB56G4A驅動開發 <1> 一、前言二、QCX架構三、QCX 傳感器驅動程序定制開發3.1 sensor硬件接口3.2 sensor配置文件3.2.1 cameraconfig.c3.2.2 cameraconfigsa8650_water.c3.2.3 新增編譯MK3.2.4 參數解析3.2.4.1 struct Camera…

干式電抗器的工作原理是什么

干式電抗器是電力系統中常用的無功補償設備&#xff0c;主要用于調節電網的電壓、提高功率因數、限制短路電流等。它的工作原理主要是通過在電路中引入一個與負載電流相反的磁場&#xff0c;從而產生一個與負載電流相抵消的電抗力&#xff0c;達到調節電壓和功率因數的目的。 干…

常微分方程算法之編程示例十-兩點狄利克雷邊值問題(理查德森外推法)

目錄 一、研究問題 二、C++代碼 三、計算結果 一、研究問題 本節我們采用理查德森法對示例八中的兩點狄利克雷邊值問題進行外推求解,相應的原理及推導思路請參考: 常微分方程算法之高精度算法(Richardson法+緊差分法)_richardson外推法-CSDN博客https://blog.csdn.net/…

20_系統測試與維護

目錄 測試基礎知識 測試原則 動態測試 靜態測試 測試策略 測試階段 測試用例設計 黑盒測試用例設計 白盒測試用例設計 McCabe度量法 魯棒性測試 缺陷探測率(Defect Detection Percentage,DDP) 調試 系統維護基礎 系統轉換 系統維護指標 軟件容錯技術 嵌入式安…

Stream流學習mapping

Stream流學習mapping 一、前言1. 基本用法2. 結合 Collectors.mapping3. 自定義轉換函數4.總結 一、前言 在Java的Stream API中&#xff0c;mapping 是一個非常有用的中間操作&#xff0c;它可以將流中的元素映射成其他形式。通常與 Collectors.groupingBy 或者 Collectors.ma…