硬碟定址概說

傳統上一般說來定址的方法有古老的C/H/S (cylinder/head/sector)的方法,也就是說硬碟上的pin 腳位,我們傳進去這三個值,硬碟裡面的晶片會自動幫我們轉換到硬碟上一個區塊(block)上去作讀寫。這是最早的根據硬碟實體(硬碟片數量就是cylinder, 讀寫頭數目head)製作的定址方法,以前ATA只定義24bit (H(8b)S(6b)C(10b)), ATA-2定義28bit (H(4b)S(8b)C(16b)),由於一個硬體讀寫sector傳統上512B,所以ATA的硬碟最多只有8G,ATA-2的硬碟最多只有128G。這限制了硬碟的總大小與使用者對不同廠家硬碟的使用。不同廠家硬碟的C/H/S不同,那就要寫不同的程式控制。所以後來提出LBA (Logical Block Addressing)方法,就是不管了,只要給我一個數目,內部轉換是硬碟廠家自己的事,在ATA-6的規格裡面可以定址到48bit, 就是248 Byte。基本上後來的硬碟都能用LBA了。不同廠家的geometry是不一樣的,也就是同樣是80G的硬碟,但可以由不同的CHS總數來達成,這讓要找到真正的LBA定址困擾,所以CHS與LBA有公式做轉換,而且跟當初定義硬碟的geometry head跟sector有關:

LBA = (c * GH + h) * GS + (s - 1)

例如geometry (255,63,xxx) 的(32, 33, 0)的LBA值,就是(0 * 255 + 32) * 63 + (33 - 1) = 2048,通常這就是linux fdisk所切的第一partition位置。

新的usb drive, SSD等已經沒有CHS了,甚至連sector都有定義4k的讀寫。geometry是由OS 跟driver去跟硬碟詢問得到的,最早在DOS由int 13去問硬碟,所以當用virtual machine時,geometry是由virtual machine回報給OS的。由於現在都用LBA,現在已經沒有真正physical 上的geometry意義,像fdisk還可以自己高興隨便定義 (所以在用fdisk等工具時如果無聊自己去定義geometry,不同的話,根據公式轉出的CHS值也會不同,就是要轉換正確LBA,然後bootloader, OS driver大家都同意就好)。總之現在只是邏輯上計算的值,而唯一可能看到的地方是MBR裡面partition的定義,那個也基本無意義了,我猜所有的bootloader應該都是用LBA去跟硬碟要boot sector,除了DOS會來看,所以只對要裝DOS的硬碟有意義。

MBR與硬碟確認

MBR(master boot record)是指如果有很多顆硬碟構成的系統,那MBR就是第一個硬碟上的第一個sector(傳統上CHA的 sector從1開始,不是0,有的bios有bug),在LBA的addressing中,就是LBA 0
BIOS裡面可以設定Boot order,那什麼是第一個硬碟呢,他會根據硬體上的回報來決定,所以不是固定的尤其在SAN的環境中可以指定SANBOOT時,即使是現在的PC環境中也有usb硬碟有可能會變成第一個硬碟。所以為了確保開機的disk是哪一個,不隨著變換disk而變化,這些無論怎樣都是根據某一個特定的獨一無二的資訊來確認硬碟,但是這個資訊寫在哪裡呢?有效範圍到哪裡呢?例如全世界的硬碟有可能都獨一無二的辨識,還是只有lab內還是只有目前這台硬碟呢?目前Linux提供下列方式。

BB 發表在 痞客邦 留言(0) 人氣()

BitBake 是一種類似 make 的程式編譯工具,主要用於 OpenEmbedded 和 Yocto 專案建構 Linux 發行版本。


BB 發表在 痞客邦 留言(0) 人氣()

建立 Windows 7 通用還原系統

封裝系統可以使用微軟提供的 sysprep 工具

BB 發表在 痞客邦 留言(0) 人氣()

建立 Windows 7 VHD 虛擬磁碟系統

 

BB 發表在 痞客邦 留言(0) 人氣()

 

Windows 目前已經支援 VHD 原生開機了

BB 發表在 痞客邦 留言(0) 人氣()

Ref://https://ddnews.me/world/nom8hug4.html

GCC

BB 發表在 痞客邦 留言(0) 人氣()

以下為 Virtual Machine (Guest OS) 相關檔案功能說明

.vmx:   Virtual Machine 設定檔,內容為純文字記錄著作業系統版本、Memory、HDD、虛擬網卡 MAC Address...等。

BB 發表在 痞客邦 留言(0) 人氣()

VMware vSphere VS VMware WorkStation

到底有什麼差別?

BB 發表在 痞客邦 留言(0) 人氣()

台北的退傭名店整理
====================

文章標籤

BB 發表在 痞客邦 留言(0) 人氣()

Last Christmas  去年的聖誕節
(Wham) (George Michael)

BB 發表在 痞客邦 留言(0) 人氣()