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。