1,硬盤結構:由多個盤片組成,劃分成扇區、磁道、柱面三元素組成(盤片劃分成一圈一圈的磁道,每個磁盤劃分成一個一個扇區,盤片相同磁道為柱面)。
存儲容量 = 磁頭數 × 磁道(柱面)數 × 每道扇區數 × 每扇區字節數
2,操作系統讀取單位:硬盤的基本讀寫單位是“扇區”,扇區又分成物理扇區和邏輯扇區。邏輯扇區是與操作系統交互的基本單位,硬盤固件負責邏輯扇區與物理扇區之間進行轉換(如4096字節大小扇區邏輯上劃分成8個512字節的邏輯扇區)。操作系統讀寫文件是以簇/塊(IO Block)進行的,1個簇大小是扇區的2的N次方扇區大小(1、2,4、8、16扇區)。頁是內存的最小存儲單元,頁的大小為磁盤塊大小的 2^n 倍。簇/塊過大,浪費空間,簇/塊過小影響性能(硬盤讀寫比較頻繁)。
fsutil fsinfo nftsinfo c:
3,分區及其格式化:分區是指將磁盤上一大片連續的扇區為劃分為1個分區;格式化是將分區內扇區進行規劃,如用FAT、NTFS、EXT3等文件系統格式來規劃文件的存儲結構。
常用分區工具:fdisk、diskpart 、parted、gdisk,常用格式工具:format、mkfs
fdisk
format
4,4K對齊:傳統機械硬盤1個扇區為512字節,由于磁盤容量的不斷增加和讀寫效率需求提,也將每個扇區的大小調整為4096個字節,也就是4KB,目的是讓分區的起始扇區位于某一個4K扇區的起始位置,增加讀寫效率(如一個簇/塊等于4KB里(正好一個扇區))。但為了兼容以前的標準,保證依靠扇區識別的舊的系統不會出錯,把一個物理扇區虛擬成8個512B邏輯扇區(從這8個扇區中的第一個扇區開始的分區,就是4K對齊,從其他7個扇區開始的分區,就是4K沒有對齊的)。固態硬盤由于采用閃存顆粒,最小單位是頁(4KB),4K對齊對其速度影響比較大。只要對齊到8個扇區的整倍數(512B*8),都屬于4K對齊,對于物理扇區大小與邏輯扇區大小不一致的磁盤,分區4K對齊才能充分發揮磁盤的讀寫性能。
5,MBR(Master Boot Record)分區:MBR是硬盤上第1個扇區,總計512字節(由引導程序446字節和分區表及分隔標識組成),開機BIOS自檢后,下一步會用MBR進行引導,MBR引導成功后,下一步會進入激活的主分區,然后引導操作系統(Windows2003及以前版本,引導根目錄下的NTLDR(8扇區);Windows VIsta/7及以上引導根目錄下的BootMRG(NTFS下NTLDR優先)(12扇區)),加載BCD,執行\winload.exe。
MBR模式
6,GPT(GUID Partition Table)分區:4K物理扇區的出現,為了兼容以前的模式,分成8個邏輯扇區(512KB),GPT采用邏輯區塊地址LBA(Logical Block Address,LBA)來規劃硬盤。第1個扇區用LBA0表示,使用34個LBA區塊記錄分區信息,并且把整個磁盤的最后34個LBA也拿來做一個備份。為了與MBR兼容,LBA0內容是保護性MBR內容(446字節啟動引導程序,余下的空間是一個特殊標識符用于表示該磁盤為GPT格式)。
GPT模式
GPT分區表類型
7,開機CMOS選項:BIOS(Basic Input Output System)和UEFI(Unified Extensible Firmware Interface)啟動:
7.1, BIOS + MBR:傳統啟動方式,MBR可以找到活動(acitve)分區,并由活動分區內的引導程序啟動系統。
BIOS -> MBR記錄 -> 激活的分區 -> PBR記錄
7.2,BIOS + GPT:一般情況不能啟動系統,可以作為資料盤;但BIOS + GPT + GRUB 是可以啟動系統的。
BIOS boot partition
7.3,UEFI + Legacy + MBR:CSM兼容模塊下可以啟動系統。
efi + gpt; legay(CSM) + mbr;
7.4,UEFI + MBR:UEFI啟動的必要條件是1個100M的FAT16或FAT32分區,ESP不是必須和GPT綁定的,也可以是MBR。(步聚:建立一個FAT16 的主分區,分區類型設置為EFI(分區標識為0xEF))
bcdboot c:\windows /f UEFI /s X: /l zh-cn(寫啟動文件到FAT分區中)
UEFI -> ESP分區/激活的FAT分區 -> 默認的efi可執行程序(/EFI/BOOT/BOOTX64.efi)
7.5,UEFI + GPT:可以啟動系統,GPT分區模式下有ESP(EFI system partition)分區(FAT格式),UEFI啟動時需要ESP分區,并利用EFI分區內的程序(.efi)啟動系統;efi引導必須有單獨的分區存放引導文件。
UEFI -> ESP分區(必須為FAT) -> efi可執行程序
插入U盤,以管理員身份運行命令提示符,或Windows PowerShell ,在執行diskpart命令,進入diskpart提示符狀態。
執行下面的list(列表)命令,列出所有磁盤
list disk
根據磁盤大小信息,認準###列的磁盤編號(本例中我的U盤是3號盤),執行下面的select(選擇)命令選中磁盤:
select disk 3
注:在命令提示符下,操作任何對象都需要先選擇(select),這如同在圖形界面下的鼠標點選對象。
執行clean命令,清零整個磁盤(該命令可以清除一些磁盤工具創建的隱藏分區)
clean
現在我們有一個數據被完全清除的U盤了,按照下面的命令依次執行,創建我們所需要的分區。
convert mbr
create partition primary size=1024
create partition primary
list part
convert mbr,是將GPT模式的磁盤轉換成MBR模式,如果你的U盤已經是MBR,不需要這個步驟(list出來的列表中,Gpt列帶*號說明是Gpt模式)。
create partition primary size=1024 命令創建一個主分區,大小為1024M(默認單位為M),即1G。這個分區的大小,在win7的時代800M夠用,但windows10的時代,1G為好。
create partition primary將剩余的空間再建立成主分區(省略size則使用所有剩余空間)。
list part命令列出當前磁盤上的所有分區。
接下來我們需要分別對兩個分區進行格式化,執行下面的命令:
sel part 1
format quick fs=fat32 label=boot
active
assign letter=x
sel part 2
format quick fs=ntfs label=system
assign letter=y
sel part 1,選中第一個分區,我們也可以用完整的命令 select partition 1。
format quick fs=fat32 label=boot ,快速(quick)格式化(format)當前選中分區,文件系統格式(fs)為FAT32,并設卷標(label)為boot。
active,設置當前分區為活動分區,關于磁盤模式、文件系統的概念,請看超級大網管的相關文章。
assign letter=x ,指定當前分區的盤符為x,你可以根據自己的需要更改盤符,不與其他盤符沖突即可。
這個時候我們可以退出diskpart了,執行 exit命令即可。
總結:進行完上述的操作,我們就得到一個MBR模式的可啟動U盤,U盤有兩個分區,分區文件系統格式分別為FAT32和NTFS。之所以第二個分區為NTFS格式,因為我們即將放入的install.wim文件超過了4G,FAT32分區不支持超過這個大小的文件。
接下來我們開始拷貝文件。
將windows10原盤中,除sources目錄外的所有內容復制到boot盤中。
然后在boot盤中建立一個sources目錄,把window10原盤sources目錄下的boot.wim文件復制到此目錄中。
在我們的system盤中建立sources目錄,把windows10原盤sources目錄下,除boot.wim文件外的所有內容復制到此目錄中。
文件都復制到位了,我們還需要向我們的boot盤寫入引導記錄,請執行下面的命令:
I:\boot\bootsect.exe /nt60 x: /mbr
I盤是我們的windows10原始安裝光盤,當然,你也可以解壓出來放到你想要的目錄,只需要找到bootsect.exe這個文件執行即可。
好了,我們一個支持雙模式啟動的windows原版安裝U盤就制作完成了。