A. linux中用hd表示IDE介面硬碟,用sd用表示SCSI硬碟,那用什麼表示SATA介面硬碟呢
用sd表示,
我的SATA介面硬碟,在Ubuntu版本的Linux中fdisk -l如下:
Disk /dev/sda: 160.0 GB, 160000000000 bytes
255 heads, 63 sectors/track, 19452 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x20000000
Device Boot Start End Blocks Id System
/dev/sda1 * 1 2550 20482843+ 7 HPFS/NTFS
/dev/sda2 2551 5100 20482875 7 HPFS/NTFS
/dev/sda3 5101 10199 40957717+ 7 HPFS/NTFS
/dev/sda4 10200 19452 74324722+ f W95 Ext'd (LBA)
/dev/sda5 10200 19452 74324691 7 HPFS/NTFS
B. LINUX 下什麼命令可以知道自己的硬碟是IDE的還是SCSI的
可以通過cat /proc/scsi/scsi命令來查看,硬碟信息,如下所示:
Linux設備的信息一般放在/proc目錄,又比如:
cat /proc/cpuinfo 看CPU信息
cat /proc/meminfo 看內存信息
cat /proc/partitions 看分區信息
cat /proc/version 看系統版本信息
C. linux內核認識sata磁碟
早就能用了。只要是用新版本就可以了。不過有的機器硬體太新或者功能特強,還需要用老版沒對應驅動的系統。比如伺服器的 SAS ,裝 RHEL 4.x 系列,一般才需要另找驅動。
bootloader 階段使用 BIOS 功能,所有的 SATA 默認都有一個簡單的 BIOS 讀寫兼容功能提供支持。也就是說開了 AHCI ,BIOS 依然會提供兼容模式。不過現在的操作系統在內核啟動後就會繞過 BIOS 直接操作硬體。這個時候如果開啟了 AHCI 模式,那麼 IDE 兼容部分的硬體介面模擬就沒了,不過 BIOS 自己提供的讀寫功能雖然繼續提供,但系統已然不用了。所以 bootloader 可以讀寫硬碟並不代表 linux 內核可以讀寫硬碟。
linux 的驅動有兩種存放狀態,編入內核或者編成模塊。
initrd 裡面的就是模塊,會被 bootloader 在讀取內核時一起讀取進入內存。一般內核模塊只在需要時載入,可以節省內核的運行體積。但現在新版 linux 內核的 sata 驅動已經高度集成了,所以很多發行版的 SATA 驅動都直接進入內核不需要模塊載入方式了。當然這要看系統的設計,有的系統既然 initrd 必然會提供,那麼編入內核確實沒意義。不過需要另外找驅動的硬體,都是模塊方式存在,他們在系統啟動時必須存在於 initrd 裡面,不然內核自己沒法集成,也不能從硬碟裡面讀取(沒驅動沒法讀盤,沒法讀盤就沒法讀驅動)。
BIOS 的 INT13 功能太簡單了。限制也特別多,現在都是能不用就不用的。所以這東西現在只有 bootloader 才會用。
D. 如何配置linux內核支持sata
(1)首先,用內核的 allnoconfig 配置目標,得到一個最最基本的內核配置。即,執行下面的命令:
make allnoconfig
內核的 allnoconfig 配置目標會把所有的內核選項都設置為no,也就是把它們既不編譯進內核,也不編譯成模塊。
有了這個最基本的配置,我們再添加必須的配置項:再執行
make menuconfig
命令,按下面的步驟添加其他的配置——
(2)把 Executable file formats 下的ELF 和 emulations for 32bit ELF 選項編譯進內核。
(3)在 Processor type and features 下面,選擇合適的CPU類型。
(4)選擇PCI/PCI-Express支持,位於Bus options (PCI, PCMCIA, EISA, MCA, ISA) 配置目錄下。
(5)加入對根文件系統所在磁碟控制器的驅動:
Device Driver
|---->SCSI device support
|---->SCSI disk support
|----->SCSI low-level drivers
|---->Serial ATA (SATA) support
|---->intel PIIX/ICH SATA support
(6)加入Ext2文件系統的支持:在 File systems 配置目錄下,選擇 Second extended fs support。如果根文件系統是Ext3,則選擇 Ext3 journalling file system support。
(7)為了是 Udev 正常工作,需要內核支持 Unix domain sockets。此配置選項位於 Networking 配置目錄中的 Networking support ---> Networking options 下。
(8)使內核支持 /proc 虛擬文件系統和 tmpfs 文件系統:
File systems ---> Pseudo filesystems ---> /proc file system support / Virtual memory file system support (former shm fs)
(9)支持 swap 分區:
General setup ---> Support for paging of anonymous memory (swap)
(10)支持 RTC 設備:
Device Drivers ---> Character devices ---> Enhanced Real Time Clock Support
(11)為了充分發揮我的雙核CPU的能力,我又加入了對SMP的支持:
Processor type and features ---> Symmetric multi-processing support。