Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux教程 >> linux分區知識與大磁盤的分區

linux分區知識與大磁盤的分區

日期:2017/2/7 9:21:52      編輯:Linux教程

目前我們可以接觸到的大部分pc依然采用上世紀遺傳下來的 BIOS + MBR 組合。 BIOS,基本輸入輸出系統 (Basic Input-Output System),是軟件與硬件之間的一個接口,可以把它看作一個翻譯在中文與英語之間,雖然兩者完全不同,不過可以讓大家了解 BIOS 所處的位置,BIOS 通常被寫入一塊 ROM 芯片連接在主板上,當然也有直接寫入北橋的,不過相當少見。 BIOS 幾乎是完全用匯編語言編寫,很大程度上決定了主板的性能及穩定性。

  MBR,主引導記錄 (Master Boot Record),也就是我們常見的分區方法,不過管理員外的最終用戶很少知道它的存在,MBR 分區的標准決定了 MBR 只支持在2TB以下 (超過 2TB 的只能管理 2TB) 的硬盤中創建4個分區表項,要獲得更多分區,需要次級結構–擴展分區。擴展分區可以再次被分成一個或多個邏輯磁盤,也就是普通情況下的C盤以外的盤,或說第一個分區以外的部分,有些情況下 Windows 裡的C盤可能會是一個邏輯分區。

  EFI,可擴展固件接口 (Extensible Firmware Interface),由英特爾 (Intel) 公司提出的一種替代 BIOS 的升級方案。 EFI 的位置很特殊,它不像是 BIOS 那樣自己即是固件又是接口,EFI 只是一個接口,位於操作系統與平台固件之間,感覺像是公司、CEO、CEO秘書之間的關系一樣,由CEO (操作系統) 下任務,CEO秘書 (EFI) 負責把任務分配下發到公司各部門經理 (平台固件),經理們又把任務下發到具體的小組 (各類硬件) 去完成。

  GPT ,全局唯一標識磁盤分區表 (GUID Partition Table),GUID,全局唯一標識符 (Globally Unique Identifier) 。GUID 分區表 (GPT) 是作為 Extensible Firmware Interface (EFI) 計劃的一部分引入的。當然,你也可以在 BIOS 的PC中使用 GPT 分區,雖然 GPT 來自以 EFI 計劃,但並不依賴於 EFI。GPT 相對於以往 PC 普遍使用的主引導記錄 (MBR) 分區方案更加靈活。比如可以超過 MBR 分區表項4個的限制,在 GPT 規范裡對分區的數量幾乎是沒有限制的,大家在網上可以查到的128個實際上是 Windows 系統 (支持 GPT 的 Windows) 做出的限制。 GPT 對可管理磁盤大小也超過了 MBR 的2TB (1TB = 1024GB) 而達到了 18EB (1EB = 1024TB) 。在 MBR 分區方案中操作系統的引導是通過放在磁盤最開始 (第一扇區) 裡的 MBR (這裡的 MBR 是指主引導記錄,而不是主引導記錄分區方案,兩者是同名的。我的猜測是為了與 GPT 分區方案區分,使用了主引導記錄引導方式的名字 MBR 來命名此種分區方案,我查不到確切的資料正明我的猜測是否正確,只能大家努力區分一下了。) 。把重要的信息 (如分區信息、目錄等) 放在某個扇區裡是 MBR 分區方案的方法,而 GPT 把這個信息放到了分區裡,Intel的解釋是這樣可以更加明確更加安全。 GPT 分區為了保護自己不受 MBR 方案下磁盤管理軟件的危害,在磁盤的最開始位置 (第一個扇區) 建立了一個保護分區 (Protective MBR),這種分區的類型標識為 0xEE。蘋果系統 (Mac OS X) 下這個保護分區大小為 200MB,這個分區在 Window NT 磁盤管理器裡名字叫做 GPT 保護分區。這個分區可以讓不能識別 GPT 的磁盤管理軟件把 GPT 磁盤看成一個未知格式的分區,而不是錯誤地當成一個未分區的磁盤。

  文件系統限制:

  以下信息出自:維基百科

  ext3

  塊尺寸 最大文件尺寸 最大文件系統尺寸

  1KiB 16GiB 2TiB

  2KiB 256GiB 8TiB

  4KiB 2TiB 16TiB

  8KiB 16TiB 32TiB

  ext4

  Extents

  ext4引進了Extent檔案儲存方式,以取代ext2/3使用的block mapping方式。Extent指的是一連串的連續實體block,這種方式可以增加大型檔案的效率並減少分裂檔案。ext4支援的單一Extent,在單一block為4KB的系統中最高可達128MB[1]。單一inode中可儲存4筆Extent;超過四筆的Extent會以Htree方式被索引。

  最大文件尺寸 16 TiB (for 4k block filesystem)

  最大卷容量 1 EiB

  xfs

  最大可支持的文件大小為263 = 9 x 1018 = 9 exabytes,最大文件系統尺寸為18 exabytes。

  ReiserFS

  最大文件尺寸 8 TiB

  最大卷容量 16 TiB

大於2T的磁盤分區方法

  由於MBR分區表只支持2T磁盤,所以大於2T的磁盤必須使用GPT分區表,具體方法如下:

  GPT格式的磁盤相當於原來MBR磁盤中原來保留4個partition table的4*16個字節,只留第一個16個字節,類似於擴展分區,真正的partition table在512字節之後,GPT磁盤沒有四個主分區的限制。

  但fdisk不支持GPT,我們可以使用parted來對GPT磁盤操作。

  parted功能很強大,既可用命令行也可以用於交互式

  在提示符下輸入parted就會進入交互式模式,如果有多個磁盤的話,我們需要運行select sdx x為磁盤,來進行磁盤的選擇

  Java代碼

  parted>

  parted>select sdb 假設磁盤為sdb

  parted>mklabel gpt 將MBR磁盤格式化為GPT

  #parted>mklabel msdos 將GPT磁盤轉化為MBR磁盤

  parted>mkpart primary 0 100 劃分一個起始位置為0,大小為100M的主分區

  parted>mkpart primary 100 200 劃分一個起始位置為100M,大小為100M的主分區

  #parted>mkpart primary 0 -1 將整塊磁盤分成一個分區

  parted>print 打印當前分區

  parted>quit 退出

  parted的更多命令:

  Java代碼

  check NUMBER do a simple check on the file system

  cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition

  help [COMMAND] prints general help, or help on

  COMMAND

  mklabel LABEL-TYPE create a new disklabel (partition

  table)

  mkfs NUMBER FS-TYPE make a FS-TYPE file system on

  partititon NUMBER

  mkpart PART-TYPE [FS-TYPE] START END make a partition

  mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system

  move NUMBER START END move partition NUMBER

  name NUMBER NAME name partition NUMBER as NAME

  print [free|NUMBER|all] display the partition table, a

  partition, or all devices

  quit exit program

  rescue START END rescue a lost partition near START

  and END

  resize NUMBER START END resize partition NUMBER and its file

  system

  rm NUMBER delete partition NUMBER

  select DEVICE choose the device to edit

  set NUMBER FLAG STATE change the FLAG on partition NUMBER

  toggle [NUMBER [FLAG]] toggle the state of FLAG on partition

  NUMBER

  unit UNIT set the default unit to UNIT

  version displays the current version of GNU

  在parted裡邊不支持ext3的文件系統,所以如果要使用的話,要退出parted進行格式話

  Java代碼

  mkfs.ext3 /dev/sdx1

  因為fdisk是不支持GPT磁盤,所以不要使用fdisk -l來查看X磁盤剛才分好的區,看不到的。

  命令行的模式:

  將硬盤轉化為GPT磁盤後,執行下列命令

  Java代碼

  parted /dev/sdx mkpart primary 0 100 劃分一個起始位置為0大小為100M的主分區

Copyright © Windows教程網 All Rights Reserved