wA@As峹аѦo

tζ}O@D`{ǡA]֤߱onwøJAXʵ{A UӫhnIs{ǨӷdzƦntιB@ҡAHϥΪ̯Qާ@㳡DtΡC pGAzѶ}zANUAbtΥXDɯܧֳt״_tγI ӥBٯQtmh@~tΪh}DCFh}DAANणǾ grub o Linux Uuq}޲z{ (boot loader)C ӦbtιB@AA]onǷ|޲z֤߼ҲթOI

1. Linux }y{R
@@1.1 }y{@
@@1.2 BIOS, boot loader P kernel J
@@1.3 Ĥ@{ init γ]w /etc/inittab P runlevel
@@1.4 init BztΪlƬy{ (/etc/rc.d/rc.sysinit)
@@1.5 ҰʨtΪAȻPҰʳ]w (/etc/rc.d/rc N & /etc/sysconfig)
@@1.6 ϥΪ̦ۭq}Ұʵ{ (/etc/rc.d/rc.local)
@@1.7 ھ /etc/inittab ]wAJ׺ݾ X-Window
@@1.8 }L{|Ψ쪺Dn]wG /etc/modprobe.conf, /etc/sysconfig/*
@@1.9 Run level G runlevel, init
2. ֤߻P֤߼Ҳ
@@2.1 ֤߼ҲջP̩ۨG depmod
@@2.2 ֤߼Ҳժ[G lsmod, modinfo
@@2.3 ֤߼ҲժJPGinsmod, modprobe, rmmod
@@2.4 ֤߼ҲժB~ѼƳ]wG/etc/modprobe.conf
3. Boot loader: Grub
@@3.1 boot loader stage
@@3.2 grub ]w /boot/grub/menu.lst PG ϺХN, menu.lst
@@3.3 initrd nʻPإ߷s initrd ɮG mkinitrd
@@3.4 ջPw grubG grub-install, grub shell
@@3.5 }eB~\ק
@@3.6 ֤ߥ\ vga ]w
@@3.7 BIOS LkŪjwЪD
@@3.8 ӧO[WKXG grub-md5-crypt
4. }L{DѨM
@@4.1 ѰO root KXѨMD
@@4.2 init ]wɿ~
@@4.3 BIOS ϺйD (device.map)
@@4.4 ]ɮרtο~ӵLk}
@@4.5 Q chroot t@wФu@
5. I^U
6. D
7. ѦҸƻP\Ū
8. w糧媺ijGhttp://phorum.vbird.org/viewtopic.php?t=23891

Linux }y{R

}Oun@UqsunqsNiHFܡHjǰݡHܬOo˨SաAOѩ Linux O@MhHhu@~tΡAAOAbɨSHbuWApGAɭԸI@jsHbuWu@A |ɦbuWu@HW_uIO`HFI@ǸƥiOL_I

t~ Linux b檺ɭԡAMAbeWu|ݨ@ASeA LOܦh{ǦbIU檺AҦpnɺޱ{Be쪺Ҧʤu@Ƶ{A M٦@jAȡAplABWWW ACApGHKܡA Oܮeˮ`wФθƶǿ骺ʧ@IҥHb Linux UiO@jǰݳC


}y{@

JM}OYª@ơAڭ̴NAѤ@UӶ}L{aI njaeo{}L{̭i|oͰDaAHΥX{D᪺ѨMDI LAѩ}L{AӶ}޲z{ (Boot Loader) ϥΪniण@ˡAҦpثeUj Linux distributions Dy grubA Linux w]Oϥ LILO AxWaϫhܦhBͳwϥ spfdisk C LצpAڭ`OonAѾ boot loader u@pA~AѬih}]wɡA ѬOťHanw Windows Aw Linux ]

]HӤHq[] Linux D (^Ĺspݬݬw`ѳ)A AUqqw|DʪŪ BIOS ӸJwTζiwtΪۧڴաA tη|DʪhŪĤ@ӥi}˸m ( BIOS ]w) AɴNiHŪJ}޲z{FC

}޲z{iHwϥέӮ֤ɮרӶ}AùڸJ֤ߨOYPA ɮ֤ߴN}lbO馎ʡAðҦwTPJAXʵ{ӨϾ㳡D}lB@A ֤߰wPJXʵ{A@ӳ̶K@~tδN}lbA PC W]FC

Dtζ}lB@A Linux ~|Is~{}ldzƳn檺ҡA åBڪJҦtιB@һݭnn{I̫tδN|}lݧAnJPާ@աI ²ӻAtζ}gLiHJ㦨Uy{G

  1. J BIOS wTPiۧڴաAè̾ڳ]woĤ@ӥi}˸mF
  2. ŪðĤ@Ӷ}˸m MBR boot Loader (YO grub, spfdisk {)F
  3. ̾ boot loader ]wJ Kernel AKernel |}lwPJXʵ{F
  4. bwXʦ\AKernel |DʩIs init {A init |o run-level TF
  5. init /etc/rc.d/rc.sysinit ɮרӷdzƳn檺@~ (pBɰϵ)F
  6. init run-level UӪAȤҰ (script 觋)F
  7. init /etc/rc.d/rc.local ɮסF
  8. init ׺ݾ{ mingetty ӱҰ login {A̫NݨϥΪ̵nJաF

jy{NOWgӼˤlաAA|o{ init oӳå񭫫D`I ҥHڭ̤~|bĤQC pstree OͨoåC C@ӵ{ǪeDnObFOHUNOӽͤ@ͧaI


BIOS, boot loader P kernel J

ڭ̦bĤTg͹L²檺}y{P MBR \A ɬFh}Ӷi檺²uСC{bAwg Linux ¦FAҥHUڭ̨ӥ[jաI


ڭ̦bĹspN͹LqD[cA bӤHq[cUAAQnҰʾ㳡tέNontΥhJ BIOS (Basic Input Output System)AózL BIOS {hJ CMOS TAåBǥ CMOS ]wȨoDUw]wA Ҧp CPU PP]ƪqɯ߰ڡB}˸mjMǰڡBwЪjpPڡB tήɶڡBUP׬yƪO_Ұ Plug and Play (PnP, HYθ˸m) ڡB UP]ƪ I/O }ڡBHλP CPU q IRQ _TC

booǸTABIOS ٷ|i}ۧڴ (Power-on Self Test, POST) (1)C M}lw鳗lơAó]w PnP ˸mAAwqXi}˸mǡA UӴN|}li}˸mŪF (MBR ȶ}l)C

ѩڭ̪tγnjhmwФIҥH BIOS |w}˸mnڭ̥iHŪϺФ@~tή֤ɮסC ѩ󤣦P@~tΥLɮרtή榡ۦPA]ڭ̥nH@Ӷ}޲z{ӳBz֤ɮ׸J (load) DA ]o}޲z{NQ٬ Boot Loader FCo Boot Loader {w˦b̩OHNb}˸mĤ@Ӻϰ (sector) A]NOڭ̤@ͨ쪺 MBR (Master Boot Record, Dn}O)C

A||ıoܩ_ǰڡHJM֤ɮ׻ݭn loader ŪACӧ@~tΪ loader ۦPA o˪ BIOS SOpŪ MBR loader OHܦ쪺DaI BIOS OzLw骺 INT 13 _\Ū MBR A]NOAun BIOS AϺ (׸ӺϺЬO SATA ٬O IDE )ALNkzL INT 13 oqDŪӺϺЪĤ@ӺϰϤ MBR աI(2) o boot loader ]NQoI

ڭ̪DCwЪĤ@ӺϰϤt 446 bytes MBR ϰApGڪDWwЪܡA tη|hwЪ MBR Ū boot loader OHoӴNon BIOS ]wFC 򥻤WAڭ̱``ytΪ MBRzO Ĥ@Ӷ}˸m MBR ~I ҥHAѦpGAnN}޲z{w˨YwЪ MBR ɡA nSO`NɨtΪyĤ@Ӷ}˸mzOӡA_h|w˨~wФW MBR InnI

軡 Loader ̥Dn\On{ѧ@~tΪɮ׮榡þڥHJ֤ߨDO餤hC ѩ󤣦P@~tΪɮ׮榡@PA]Cا@~tγۤv boot loader աIΦۤv loader ~kJ֤ɮ׹IDNӰաAAӦťLh@~tΧaH]NOb@DWw˦hؤP@~tΡC JMA (1)nϥΦۤv loader ~Jݩۤv@~tή֤ߡA (2)tΪ MBR u@ӡAA|kPɦb@DWw Windows P Linux OH

oNon^ĤKϺɮרth^Ф@UɮרtΥ\FC Cɮרt (filesystem, Ϊ̬O partition) |Od@}ϰ (boot sector) ѧ@~tΦw boot loader A ӳq`@~tιw]|wˤ@ loader LڥؿҦbɮרtΪ boot sector WCpGڭ̦b@DWw Windows P Linux A boot sector, boot loader P MBR ʷ|IUϡG

boot loader w˦b MBR, boot sector P@~tΪY
1.2.1B boot loader w˦b MBR, boot sector P@~tΪY

pWϩҥܡACӧ@~tιw]O|wˤ@M boot loader LۤvɮרtΤ (NOC filesystem U)AӦb Linux tΦwˮɡAAiHܱN boot loader w˨ MBR hA]iHܤwˡC pGܦw˨ MBR ܡAzפWAb MBR P boot sector |O@ boot loader {C ܩ Windows wˮɡALw]|DʪN MBR P boot sector ˤW@ boot loaderIҥHաA A|o{w˦h@~tήɡAA MBR ``|QP@~tΪ boot loader л\աI ^_^

ڭ̭责쪺ӰD٬OSѨMڡIMUӧ@~tγiHwˤ@ boot loader L̪ boot sector A o˧@~tΥiHzLۤv boot loader ӸJ֤ߤFCDOtΪ MBR u@ӭI An boot sector ̭ loader ڡHoӧڭ̱on^Ф@UĤTL boot loader \FCboot loader Dn\pUG

ѩ㦳\A]ڭ̥iHܤP֤ߨӶ}Cӥѩ㦳v檺\A]ڭ̥iHJL boot sector loader աIL Windows loader w]㦳v檺\A]Aϥ Windows loader ӸJ Linux loader Io]OԣĤTͨ MBR Ph}ɡA|SOjե Windows A Linux tGC ڭ̱NWzTӥ\HUϥܨӸANݪFI(PĤTϥܤ]D`աI)

}޲z{\Pv\ܷN
1.2.2B }޲z{\Pv\ܷN

pWϩҥܡAڪ MBR ϥ Linux grub oӶ}޲z{AåB̭]wgFTӿA Ĥ@ӿiHV Linux ֤ɮרåBJ֤ߨӶ}FĤGӿiHN}޲z{v浃 Windows Ӻ޲zA Windows loader |޶}y{AoӮɭԥLNҰ windows FCĤTӿhOϥ Linux b boot sector }޲z{AɴN|Xt@ grub աIAѤFܡH

ӳ̲ boot loader \NOyJ kernel ɮzաI


ڭǥ boot loader ޲zӶ}lŪ֤ɮ׫AUӡA Linux N|N֤߸YDOA åBQή֤ߪ\A}lջPXʦUөP˸mA]Axs˸mBCPUBdBĥdC Linux ֤߷|Hۤv\୫s@wAӤ@w|ϥ BIOS 쪺wTI]NOA֤ߦɤ~}l BIOS ᪺u@FC ֤ɮצb̰ڡH@ӻAL|Qm /boot ̭AåBW /boot/vmlinuz ~I

[root@www ~]# ls --format=single-column -F /boot
config-2.6.18-92.el5      <==֤߳QsĶɿܪ\PҲճ]w
grub/                     <==NO}޲z{ grub ƥؿ
initrd-2.6.18-92.el5.img  <==ɮרtɡI
System.map-2.6.18-92.el5  <==֤ߥ\mO}
vmlinuz-2.6.18-92.el5     <==NO֤ɮװաI̭n̡I

qWڭ̤]iHD Linux ֤߬ 2.6.18-92.el5 oӪIFw}oӻPL֤ߥ\}o̪KQA ] Linux ֤߬OiHzLʺAJ֤߼Ҳժ (NзQXʵ{Yi)AoǮ֤߼ҲմNmb /lib/modules/ ؿC ѩҲթmϺЮڥؿ (nOo /lib iHP / ObP partition I)A ]b}L{֤ߥnڥؿAoˤ~Ū֤߼ҲմѸJXʵ{\C ӥBF߼vTϺФɮרtΡA]}L{ڥؿOHŪ觋ӱC

@ӻADn\BiHsĶҲժ֤ߥ\Aثe Linux distributions |NLsĶҲաC ] USB, SATA, SCSI... Ϻи˸mXʵ{q`OHҲժ觋ӦsbC {bӫҤ@رpA]A linux Ow˦b SATA ϺФWAAiHzL BIOS INT 13 o boot loader P kernel ɮרӶ}AM kernel |}lިtΨåBwιձڥؿӨoB~Xʵ{C

DOA֤߮ڥ{ SATA ϺСAҥHݭnJ SATA ϺЪXʵ{A _hڥNLkڥؿCO SATA Xʵ{b /lib/modules AAڥLkڥؿSŪ /lib/modules/ Xʵ{HOaID`aIboӱpUAA Linux OLkQ}I HSYAڭ̥iHzLɮרtΨӳBzoӰDC

ɮרt (Initial RAM Disk) @ϥΪɦW /boot/initrd AoɮתSOAL]zL boot loader ӸJO餤A Moɮ׷|QYåBbO@ӮڥؿA BbOɮרtίѤ@i檺{AzLӵ{J}L{ҳ̻ݭn֤߼ҲաA q`oǼҲմNO USB, RAID, LVM, SCSI ɮרtλPϺФXʵ{IJA |U֤߭sIs /sbin/init Ӷ}l򪺥`}y{C

BIOS P boot loader ή֤߸Jy{ܷN
1.2.3B BIOS P boot loader ή֤߸Jy{ܷN

pWϩҥܡAboot loader iHJ kernel P initrd AMbO餤 initrd YڥؿA kernel NǦJAXʵ{A̲ɮרtΡAñڪڥؿɮרtΡA N}l򪺥`}y{CԲӪ initrd AAiHۦϥ man initrd hd\ݬݡC Uڭ̨AѤ@U CentOS 5.x initrd ɮפeaI ^_^

# 1. N /boot/initrd ƻs /tmp/initrd ؿAݸYG
[root@www ~]# mkdir /tmp/initrd
[root@www ~]# cp /boot/initrd-2.6.18-92.el5.img /tmp/initrd/
[root@www ~]# cd /tmp/initrd
[root@www initrd]# file initrd-2.6.18-92.el5.img
initrd-2.6.18-92.el5.img: gzip compressed data, ...
# ӬO gzip YɡI]O gzip AҥHɦWL令 .gz aI

# 2. NWzɮ׸YG
[root@www initrd]# mv initrd-2.6.18-92.el5.img initrd-2.6.18-92.el5.gz
[root@www initrd]# gzip -d initrd-2.6.18-92.el5.gz
[root@www initrd]# file initrd-2.6.18-92.el5
initrd-2.6.18-92.el5: ASCII cpio archive (SVR4 with no CRC)
# dFѥbѡA٬O cpio OYɮװڡIYݬݡI

# 3.  cpio Y
[root@www initrd]# cpio -ivcdu < initrd-2.6.18-92.el5
[root@www initrd]# ll
drwx------ 2 root root    4096 Apr 10 02:05 bin
drwx------ 3 root root    4096 Apr 10 02:05 dev
drwx------ 2 root root    4096 Apr 10 02:05 etc
-rwx------ 1 root root    1888 Apr 10 02:05 init
-rw------- 1 root root 5408768 Apr 10 02:00 initrd-2.6.18-92.el5
drwx------ 3 root root    4096 Apr 10 02:05 lib
drwx------ 2 root root    4096 Apr 10 02:05 proc
lrwxrwxrwx 1 root root       3 Apr 10 02:05 sbin -> bin
drwx------ 2 root root    4096 Apr 10 02:05 sys
drwx------ 2 root root    4096 Apr 10 02:05 sysroot
# ݡIO_ܹڥؿIר]O init oӰɡIȥݤ@UvI
# UӬݬ init oɮפԣNNH

# 4. [ init ɮפn涵
[root@www initrd]# cat init
#!/bin/nash                  <==ϥ bash  shell Ӱ
mount -t proc /proc /proc    <==O骺ɮרt
....(ٲ)....
echo Creating initial device nodes
mknod /dev/null c 1 3        <==إߨtΩһݭnU˸mI
....(ٲ)....
echo "Loading ehci-hcd.ko module"
insmod /lib/ehci-hcd.ko      <==JU֤߼ҲաANOXʵ{I
....(ٲ)....
echo Creating root device.
mkrootdev -t ext3 -o defaults,ro hdc2 <==ձڥؿաI
....(Uٲ)....

KKIzLWzɪeAڭ̥iHD initrd JҲըåBձFɮרtΡC UӴNQB@աIO_@wݭn initrd OH

DG
O_S initrd NLkQ}H
G
oIݭn initrd ̭n]OA}ɵLkڥؿpUA ɴN@wݭn initrd AҦpAڥؿbSϺФ (USB, SATA, SCSI) A Ϊ̬OAɮרtθS (LVM, RAID) A~|ݭn initrdC

pGA Linux Ow˦b IDE ϺФWAåBϥιw] ext2/ext3 ɮרtΡA 򤣻ݭn initrd ]Q}iJ Linux I

b֤ߧ㪺JAzDӴN}lTB@FAUӡANOn}ltΪĤ@{G /sbin/initC


Ĥ@{ init γ]w /etc/inittab P runlevel

b֤߸JBi槹w鳗PXʵ{JAɧADwӤwgdzƴNF (ready) A ɮ֤߷|DʪIsĤ@{ANO /sbin/init oCo]OԣĤQC pstree OЮɡAA|o{ init PID XO@աC /sbin/init ̥Dn\NOdzƳn檺ҡA]AtΪDW١B]wBytBzBɮרtή榡ΨLAȪҰʵC өҦʧ@|zL init ]wɡAYO /etc/inittab ӳWA inittab ٦@ӫܭn]wءANOw] runlevel (}浥) աI


򤰻O run level OHL\ΰڡH²աA Linux NOǥѳ]w run level ӳWwtΨϥΤPAȨӱҰʡA Linux ϥҤPC򥻤WA̾ڦLPL X Window ӱN run level 7 ӵšAOOG

ѩ run level 0, 4, 6 OBs}NOtΫOdAҥHGy zMNw] run level ]woTӭ zA _htδN|_۰Φ۰ʭs}.... nFAڭ̶}ɡA쩳OpotΪ run level HMO /etc/inittab ҳ]woI /etc/inittab 쩳TOHڭ̥ӬݬݳoɮתenFG


[root@www ~]# vim /etc/inittab
id:5:initdefault:                 <==w] runlevel ]w,  runlevel  5 

si::sysinit:/etc/rc.d/rc.sysinit  <==dzƨtγn檺Ҫ}

# 7 ӤP run level AݭnҰʪAȪ scripts m|G
l0:0:wait:/etc/rc.d/rc 0    <==runlevel 0 b /etc/rc.d/rc0.d/
l1:1:wait:/etc/rc.d/rc 1    <==runlevel 1 b /etc/rc.d/rc1.d/
l2:2:wait:/etc/rc.d/rc 2    <==runlevel 2 b /etc/rc.d/rc2.d/
l3:3:wait:/etc/rc.d/rc 3    <==runlevel 3 b /etc/rc.d/rc3.d/
l4:4:wait:/etc/rc.d/rc 4    <==runlevel 4 b /etc/rc.d/rc4.d/
l5:5:wait:/etc/rc.d/rc 5    <==runlevel 5 b /etc/rc.d/rc5.d/
l6:6:wait:/etc/rc.d/rc 6    <==runlevel 6 b /etc/rc.d/rc6.d/

# O_\U [ctrl]+[alt]+[del] Ns}]wءG
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# Uӳ]whO_qtΪ (UPS)A@ӬOSqOɪA@ӬO_qBz
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"

1:2345:respawn:/sbin/mingetty tty1  <== tty1~tty6 OѩUoMwC
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

x:5:respawn:/etc/X11/prefdm -nodaemon <==X window hOoMwI

ڭ̸ѪR@UoɮקaIAoɮתykOQΫ_ (:) N]wj|AC쪺NqPpUG

[]w]:[run level]:[init ʧ@欰]:[O]
  1. ]wءG̦h|ӦrAN init Dnu@ءAuO@²檺NC

  2. run levelGӶئb run level Ui檺NCpGO 35 hN runlevel 3 P 5 |C

  3. init ʧ@ءGDniHi檺ʧ@طNqG
    inittab ]wNq
    initdefaultNw] run level ]w
    sysinitNtΪlƪʧ@
    ctrlaltdelN [ctrl]+[alt]+[del] TӫO_iHs}]w
    waitN᭱]wOإn槹~~򩳤ULʧ@
    respawnN᭱쪺OiHLA (sҰ)C|ҨӻA tty1 mingetty ͪinJeA bAnXӵAtη|A}@ӷsinJeݤU@ӵnJC
    h]wؽаѦ man inittab C

  4. OءGYӥiHi檺OAq`O@ script oC


ƹW /etc/inittab ]w]I shell script աA]ɮפe]w]O@@檺qWUBzA ]ڭ̥iHD CentOS init ̾ inittab ]wBzy{|OG

  1. o runlevel Yw]浥Ū (HվҡA 5 )F
  2. ϥ /etc/rc.d/rc.sysinit itΪl
  3. ѩ runlevel O 5 A]uiyl5:5:wait:/etc/rc.d/rc 5zALhL
  4. ]wn [ctrl]+[alt]+[del] oժզX\
  5. ]w_qtΪ pf, pr ؾF
  6. Ұ mingetty Ӳ׺ݾ (tty1 ~ tty6)
  7. ̲ץH /etc/X11/perfdm -nodaemon ҰʹϧΤաI

{bAiHDԣ [ctrl]+[alt]+[del] iHs}ӧڭ̹w] 6 ӵ׺ݾ (tty1~tty6) AϥΤFaIѩӳ]wO̾ /etc/inittab ӨMwA]pGAQnקӸ`ܡA iHo˰G

ҥHAA{b|ۦקnJɪw] run level ]wȤFܡH²檺aH @ӻAڭ̹w]O 3 Ϊ̬O 5 ӧ@w] run level CɫiݭniJ run level 1A ]NOH@ҦҷCo run level 1 IO Windows tηywҦzաA MΨӳBztΦDɪާ@ҡC~Atεo{DɡA|ҨӻA`y filesystem @P{HɡAtη|DʪiJH@ҦOI

nFA init bo run level AUӭnFH W /etc/inittab ɮפeO sysinit ܡHdzƪlƨtΤFaI


init BztΪlƬy{ (/etc/rc.d/rc.sysinit)

ٰOoW /etc/inittab Yo@yy si::sysinit:/etc/rc.d/rc.sysinit zaH oܡGyڶ}lJUtΪAȤeAonӨtҡAڥDnQ /etc/rc.d/rc.sysinit o shell script ӳ]wnڪtҪCzMFaH ҥHAڷQnD쩳 CentOS }L{ڶiFʧ@ANonJӪR /etc/rc.d/rc.sysinit oC

ѹ껡AoɮתɦWbUP distributions ۦPA Ҧp SuSE server 9 Nϥ /etc/init.d/boot P /etc/init.d/rc Ӷi檺C ҥHAA̦n٬Oۦ /etc/inittab hݤ@UtΪu@I ^_^

pGAϥ vim hd\L /etc/rc.d/rc.sysinit ܡAiHo{LDnu@j観oXG

  1. oһPDG
    Ū]w /etc/sysconfig/network AoDWٻPw]qTh (gateway) ҡC
  2. ջPO˸m /proc USB ˸m /sysG
    O˸m /proc ~Aٷ|DʰtΤWO_㦳 usb ˸mA Yh|DʸJ usb Xʵ{AåBձ usb ɮרtΡC
  3. MwO_Ұ SELinux G
    ڭ̦bĤQCͨ쪺 SELinux bɶi@˴A åB˴O_ݭnҦɮ׭ssgзǪ SELinux (auto relabel)C
  4. ҰʨtΪüƲ;
    üƲ;iHUtζi@DZKX[Kt⪺\AbݭnҰʨ⦸üƲ;C
  5. ]w׺ݾ (console) rΡG
  6. ]wܩ}L{we (text banner)F
  7. ]wtήɶ (clock) Pɰϳ]wGŪJ /etc/sysconfig/clock ]w
  8. P]ƪP Plug and Play (PnP) ѼƪաG
    ھڮ֤ߦb}ɰG (/proc/sys/kernel/modprobe ) }li ide / scsi / / P]ƪAHΧQΥHJ֤߼Ҳնi PnP ˸mѼƴաC
  9. ϥΪ̦ۭqҲժJ
    ϥΪ̥iHb /etc/sysconfig/modules/*.modules [JۭqҲաAhɷ|QJtη
  10. J֤ߪ]wG
    tη|DʥhŪ /etc/sysctl.conf oɮת]wȡAϮ֤ߥ\নڭ̷QnˤlC
  11. ]wDWٻPlƹq޲zҲ (ACPI)
  12. lƳnϺа}CGDnOzL /etc/mdadm.conf ӳ]wnC
  13. l LVM ɮרtΥ\
  14. H fsck ϺɮרtΡG|i filesystem check
  15. iϺаtB quota ഫ (Dn)G
  16. sHiŪgҦtκϺСG
  17. Ұ quota \GҥHڭ̤ݭnۭq quotaon ʧ@
  18. ҰʨtεüƲ; (pseudo-random)G
  19. M}L{ȦsɮסG
  20. N}TJ /var/log/dmesg ɮפC

b /etc/rc.d/rc.sysinit N򥻪tγ]wƳgnFA]NtΪƳ]wI ӦpGAQnD쩳}L{oͤFƱOHNy dmesg zaC t~A򥻤WAboɮ׷Ҷi檺ܦhu@w]]wɡA곣b /etc/sysconfig/ OI ҥHAаOoN /etc/sysconfig/ ɮצnn@@@I ^_^

boӹL{Aȱo`NOۭqҲժJIb CentOS ApGڭ̷QnJ֤߼ҲժܡA iHNӼҲռgJ /etc/sysconfig/modules/*.modules AbӥؿUA unOoɦW̫OH .modules YiC oӹL{ODnA]ڭ̥ثew]ҲչbwgܰΤFADOzDwbӷsFA DnۤvJsҲդiA_hAbgL /etc/rc.d/rc.sysinit BzA ADtӬOwg]oܶZFաINۧANtάAȻPAȱҰoI


ҰʨtΪAȻPҰʳ]w (/etc/rc.d/rc N & /etc/sysconfig)

J֤ӨtηdzƱOӤu@AAgL /etc/rc.d/rc.sysinit tμҲջPwTlƫAA CentOS tӤwgQu@FC uOAڭٱonҰʨtΩһݭnUyAȡzڡIo˥D~ണѧڭ̬Ϊ̬OD\I oӮɭԡA̾ڧڭ̦b /etc/inittab ̭쪺 run level ]wȡANiHӨMwҰʪAȶؤFC |ҨӻAϥ run level 3 MNݭnҰ X Window AoAzOaH

UӤP run level AȱҰʪU shell script bHٰOo /etc/inittab ̭쪺G

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5  <==ҤAHبӸ
l6:6:wait:/etc/rc.d/rc 6

W쪺NOU run level n檺U}mBաIDnOzL /etc/rc.d/rc oӫOӳBzȡI ѩ󳾭ϥιw] runlevel 5 A]ڭ̥DnwWzSr騺ӸnFG /etc/rc.d/rc 5 NqOo˪ (ijzۦϥ vim h[@U /etc/rc.d/rc oɮסAA|󦳷I)G

zLWڭ̥iHDҦسP /etc/rc5.d/ Aڭ̴N@@oӥؿUǤ򪱷NaI

[root@www ~]# ll /etc/rc5.d/
lrwxrwxrwx 1 root root 16 Sep  4  2008 K02dhcdbd -> ../init.d/dhcdbd
....(ٲ)....
lrwxrwxrwx 1 root root 14 Sep  4  2008 K91capi -> ../init.d/capi
lrwxrwxrwx 1 root root 23 Sep  4  2008 S00microcode_ctl -> ../init.d/microcode_ctl
lrwxrwxrwx 1 root root 22 Sep  4  2008 S02lvm2-monitor -> ../init.d/lvm2-monitor
....(ٲ)....
lrwxrwxrwx 1 root root 17 Sep  4  2008 S10network -> ../init.d/network
....(ٲ)....
lrwxrwxrwx 1 root root 11 Sep  4  2008 S99local -> ../rc.local
lrwxrwxrwx 1 root root 16 Sep  4  2008 S99smartd -> ../init.d/smartd
....(Uٲ)....

boӥؿUɮ׫ܦADn㦳XӯSIG

ڭ̦bĤQK͹LAȪҰʥDnOHy/etc/init.d/AɦW {start,stop}zӱҰʻPAzL /etc/rc.d/rc {ѻAڭ̥iHMAѨF /etc/rc5.d/[SK]xx NO] /etc/init.d/ h۹Aȸ}A MOi start (Sxx) stop (Kxx) ʧ@ӤwաI|ҨӻAHWz椺 K91capi S10network ҦnFA zL /etc/rc.d/rc 5 Aoɮ׷|o˶iG

ҥHAAQnҰʸ runlevel ɴN檺AȡAQ Sxx ëV /etc/init.d/ SwAȱҰʸ}A ӪAȴNb}ɱҰʰաINo²IDOAAݭnۦBzo K, S }YsɶܡH äݭnAĤQKͨ쪺 chkconfig NObtdBzoӳsɰաIo˦SĤQK[b@_FOH ^_^

򬰤 K P S ᭱nƦrOH]UPAȨ٬OYC|ҨӻApGnҰ WWW AȡA`OonaHҥH /etc/init.d/network N|QҰʰաIzN|Db S Ϊ̬O K ᭱ƦrOԣNFaHKKANO檺ǰաIɮ׳Q̫OH ݨ̫@ӳQ檺جOԣHSANO S99local AYOG /etc/rc.d/rc.local oɮװաI


ϥΪ̦ۭq}Ұʵ{ (/etc/rc.d/rc.local)

bw] runlevel wUAȪҰʫApG٦Lʧ@QnɡA|ҨӻA ٷQnH@ mail YӨtκ޲zbAqLAtέ谵s}AO_ӭns@@ shell script mb /etc/init.d/ ̭AMAHs觋s /etc/rc5.d/ ̭OHIMݭnIٰOoW@p`쪺 /etc/rc.d/rc.local aH oɮ״NiHzۤvQn檺tΫOFC

]NOAڦQnb}ɴNi檺u@ɡANLgJ /etc/rc.d/rc.local A Ӥu@N|b}ɭԦ۰ʳQJIӤڭ̵nJtΥhҰʩOI O_ܤKڡI@ӻANܳwۤvs@ shell script ɦWgJ /etc/rc.d/rc.local Ap@ӡA}N|Nڪ shell script LAuOnΨI


ھ /etc/inittab ]wAJ׺ݾ X-Window

bFtΩҦAȪҰʫAU Linux N|Ұʲ׺ݾΪ̬O X Window ӵݨϥΪ̵nJաI ڰѦҪجO /etc/inittab o@qG

1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
x:5:respawn:/etc/X11/prefdm -nodaemon

o@qNAb run level 2, 3, 4, 5 ɡA| /sbin/mingetty oөNNA ӥB椻ӡAo]Oڭ Linux |ѡyӯ¤r׺ݾz]wҦbڡI ] mingetty NObҰʲ׺ݾOC

n`NO respawn init ʧ@ءALNy᭱OQפ (terminal) ɡA init |DʪsҰʸӶءCzo]Oڭ̵nJ tty1 ׺ݾAH exit }A t٬O|sܵݨϥΪ̿Je]ڡI

pGѱzQnӲ׺ݾɡAiHYDz׺ݾܡHMiHڡI NNWYǶصѱYiIҦpQn tty5 P tty6 ANNѡA hUs}Az Linux NuѤUy F1 ~ F4 zĦӤwAo˻AiHAѧaII^_^

ܩpGڭ̨ϥΪO run level 5 OH򰣤FoӲ׺ݾ~A init ٷ| /etc/X11/prefdm -nodaemon ӫOIӫOڭ̷|bĤGQ|BX Window AӸԽ͡I LDn\NObҰ X Window աI


}L{|Ψ쪺Dn]w

ڭ̦b /sbin/init B@L{ͨ\h}A]A /etc/rc.d/rc.sysinit H /etc/rc.d/rc A oǸ}|ϥΨ۷htγ]wɡAoǶ}L{|Ψ쪺]wɫhjhmb /etc/sysconfig/ ؿUC PɡAѩ֤٬OݭnJ@Xʵ{ (֤߼Ҳ)AɨtΦۭq˸mPҲչ (/etc/modprobe.conf) N㪺nFI


ٰOoڭ̦b /etc/rc.d/rc.sysinit ͨ쪺JϥΪ̦ۭqҲժaܡHNOb /etc/sysconfig/modules/ ؿUڡI M֤ߴѪw]Ҳդwgܨڭ̨ϥΤFAOAYDZUڭ٬OoҲնi@ǰѼƪWA ɴNonϥΨ /etc/modprobe.conf oI|ҨӻA CentOS D modprobe.conf IoˡG

[root@www ~]# cat /etc/modprobe.conf
alias eth0 8139too               <== eth0 ϥ 8139too Ҳ
alias scsi_hostadapter pata_sis
alias snd-card-0 snd-trident
options snd-card-0 index=0       <==B~w snd-card-0 Ѽƥ\
options snd-trident index=0

oɮפjhbwtΤwҨϥΪҲհաIoɮ׳q`tάOiHۦ沣ͪAҥHAʥhqLI LApGtή~Xʵ{AΪ̬OAQnϥΧsXʵ{ӹwtƮɡA ANonۦʪBz@UoɮפFC

HWĤ@欰ҡAϥοɥd (Realtek ) ӧ@ڪdAɥdϥΪҲմNO 8139too աIoˬݪFaHڭnҰʺdɡAtη|]oɮרӬd\@UAMJ 8139too Xʵ{XʺdoIhA man modprobe.conf I


z]DAӶ}L{AѬOŪ@ǪAȪ]wɳOOb /etc/sysconfig ؿUIӥؿUԣNHڭ̧Xӭnɮרӽͽ͡G

`Ө@yܡAoӥؿUɮ׫ܭnաI}L{̭``|Ū쪺I


Run level

bڭ̧WҦTA Linux DNwgbݧڭ̨ϥΪ̪nJաI OA۫Hz٬O|@IðݪaANOGyڸӦp run level OHz||ڡH|աI²O̾ڰ檺ɶӦP觋ڡI

ƹWAP run level ҰʨOb /etc/rc.d/rc.sysinit 槹C]NOA run level PȬO /etc/rc[0-6].d ̭ҰʪAȤPӤwCLA̾ڶ}O_۰ʶiJP run level ]wAڭ̥iHG

  1. nC}Yӹw] run level Ahݭnק /etc/inittab ]wءA YOy id:5:initdefault: zYƦrڡF

  2. pGȥuOȮܧtΪ run level ɡAhϥ init [0-6] Ӷi run level ܧC Us}ɡA·|OH /etc/inittab ]wǡC

]쥻ڭ̬OH run level 5 nJtΪAO]YǦ]AQn run level 3 ɡA ӫOH²ڡAy init 3 zYiCO init 3 oӰʧ@쩳FOH ڭ̤OFܡHƹWAP run level uOJAȤP}FA YO /etc/rc5.d/ ٦ /etc/rc3.d Sxxname P Kxxname tӤwC ҥHA init 3 ɡAtη|G

]NOA run level sbAȴN|QաIp@ӡANܮe run level FA ӥB٤ݭns}OIuKCګ򪾹Dثe run level Oh֩OH b bash J runlevel YiڡI

[root@www ~]# runlevel
N 5
# Ne@ runlevel AkNثe runlevelC
# ѩ󤧫eèSL runlevel A]e@ runlevel sb (N)
# Nثe runlevel  3 (`NA tty7 Ʒ|I)
[root@www ~]# init 3
NIT: Sending processes the TERM signal
Applying Intel CPU microcode update:        [  OK  ]
Starting background readahead:              [  OK  ]
Starting irqbalance:                        [  OK  ]
Starting httpd:                             [  OK  ]
Starting anacron:                           [  OK  ]
# oNAs runlevel YO runlevel3 e@ runlevel hXFWz 5 ӪA

[root@www ~]# runlevel
5 3
# ݧaIe@ӬO runlevel 5 AثeO runlevel 3 աI

AणQ init ӶiPs}OHiHաIQΡy init 0 zNA ӡy init 6 zNs}IHe½@U runlevel wqYiAѧaI


֤߻P֤߼Ҳ

ͧFӶ}y{Azӷ|DAbӶ}L{AO_\Xʧڭ̥DwtơA O֤ (kernel) u@IӮ֤ߤ@볣OYɡA]bϥή֤ߤeANonNLYA ~JDOC

t~AFIs벧wAثe֤߳O㦳yiŪҲդXʵ{z\A YOҿתy modules (Ҳդ)z\աIҿתҲդƥiHNLQO@ӡy~{zA ӥ~{iѵw}otӴѡA]iڭ̪֤ߥӴN䴩㤣LAswA q`ݭnw}oӴXʵ{ҲհաI

֤߻P֤߼ҲթbH

pGӮ֤߳QQJtηFAN|XӸTUӡG

DӰաApGڦӷswAڪ@~tΤ䴩AӫH²ڡI

WĤ@I٫ܦnzѡAϥNOssĶ֤ߴNOFCLA֤߽sĶܤeڡI ڭ̷|b򳹸`Ю֤߽sĶӵ{ǡC쪺hONӵw骺Xʵ{sĶҲհաI sĶkAiHѦҫĤGQGBlXP tarballСC ڭ̳oӳ`ȬO@UApGQnJ@ӤwgsbҲծɡAӦpOnH


֤߼ҲջP̩ۨ

JMnBz֤߼ҲաA۵MNonAAѧڭ̮֤ߴѪҲդʰաI 򥻤WA֤߼ҲժmBOb /lib/modules/$(uname -r)/kernel A̭Dn٤XӥؿG

arch	GPw饭xءAҦp CPU ŵF
crypto	G֤ߩҤ䴩[K޳NAҦp md5 Ϊ̬O des F
drivers	G@ǵw骺Xʵ{AҦpܥdBdBPCI w鵥F
fs	G֤ߩҤ䴩 filesystems AҦp vfat, reiserfs, nfs F
lib	G@Ǩ祃wF
net	GPUwơA٦Ҳ (net/ipv4/netfilter/*) F
sound	GPĦUҲաF

pGnڭ̤@Ӥ@ӪhˬdoǼҲժDnTAMwqXL̪̩ۨʡA ڭ̥i|ƱaIҥHAڭ̪ Linux M|Ѥ@ǼҲլ̩ۨʪѨMo աINOˬd /lib/modules/$(uname -r)/modules.dep oɮװաILOFb֤ߤ䴩ҲժU̩ۨʡC

oɮצpإߩOH²IQ depmod oӫONiHFإ߸ɮתݨDFI

[root@www ~]# depmod [-Ane]
ﶵPѼơG
-A  G[ѼƮɡA depmod |DʪhRثe֤ߪҲաAåBsgJ
      /lib/modules/$(uname -r)/modules.dep CY[J -A ѼƮɡAh depmod
      |hjM modules.dep ٭nsҲաApGusҲաA~|sC
-n  GgJ modules.dep AӬONGXùW(standard out)F
-e  GܥXثewJi檺ҲզW

dҤ@GYڰn@ӺdXʵ{AɦW a.koAӦps֤̩߬ۨʡH
[root@www ~]# cp a.ko /lib/modules/$(uname -r)/kernel/drivers/net
[root@www ~]# depmod

HWdҤ@ҡAڭ̪ Linux kernel 2.6.x ֤߼ҲհɦW@wO .ko A Aϥ depmod Aӵ{|]Ҳռзǩmؿ /lib/modules/$(uname -r)/kernel A è̾ڬؿwqNҲծXӤRA̲פ~NRGgJ modules.dep ɮפoI oɮ׫ܭnI]L|vT쥻y|Ъ modprobe OΡI


֤߼Ҳժ[

A쩳夣oثe֤߸JFh֪ҲթOH²աIQ lsmod YiI

[root@www ~]# lsmod
Module                  Size  Used by
autofs4                24517  2
hidp                   23105  2
....(ٲ)....
8139too                28737  0
8139cp                 26305  0
mii                     9409  2 8139too,8139cp <==mii ٳQ 8139cp, 8139too ϥ
....(ٲ)....
uhci_hcd               25421  0  <==UTӬO USB ҲաI
ohci_hcd               23261  0
ehci_hcd               33357  0

ϥ lsmod Atη|ܥXثewgsb֤߷ҲաAܪe]AG

]NOAҲըu̩ۨʳI|WҡA mii oӼҲշ|Q 8139too ҨϥΡC ²檺ANOyAnJ 8139too ɡAݭnJ mii oӼҲդ~iHQJ 8139toozNC 򰣤FܥXثeҲե~A٥iHd\CӼҲժTܡH|ҨӻAڭ̪D 8139too OɥdXʵ{A mii ONNHN modinfo [aI

[root@www ~]# modinfo [-adln] [module_name|filename]
ﶵPѼơG
-a  GȦCX@̦W١F
-d  GȦCX modules  (description)F
-l  GȦCXv (license)F
-n  GȦCXӼҲժԲӸ|C

dҤ@GѤWӪAЦCX mii oӼҲժTG
[root@www ~]# modinfo mii
filename:       /lib/modules/2.6.18-92.el5/kernel/drivers/net/mii.ko
license:        GPL
description:    MII hardware support library
author:         Jeff Garzik <jgarzik@pobox.com>
srcversion:     16DCEDEE4B5629C222C352D
depends:
vermagic:       2.6.18-92.el5 SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1
# iHݨoӼҲժӷAHθӼҲժ²I(Ow䴩祃w)

dҤGGڦ@ӼҲզW٬ a.ko AаݸӼҲժTH
[root@www ~]# modinfo a.ko
....(ٲ)....

ƹWAo modinfo FiHyd\b֤ߤҲաz~A٥iHˬdyYӼҲɮסzA ]ApGAQnDYɮץNNqAQ modinfo [WɦWaI ݬݴNoOԣNoI ^_^


֤߼ҲժJP

nFApGڷQnۦʸJҲաASӦpOnHܦhkաA²ӥBijAOϥ modprobe oӫOӸJҲաA oO] modprobe |DʪhjM modules.dep eAJAFҲժ̩ۨʫA ~MwݭnJҲզǡAܤKCܩ insmod hѨϥΪ̦ۦJ@ӧɦWҲաA ä|DʪRҲլ̩ۨʰڡI

[root@www ~]# insmod [/full/path/module_name] [parameters]

dҤ@GйոJ cifs.ko oӡyɮרtΡzҲ
[root@www ~]# insmod /lib/modules/$(uname -r)/kernel/fs/cifs/cifs.ko
[root@www ~]# lsmod | grep cifs
cifs                  212789  0

LߨNNӼҲոJoO insmod ᭱ҲեnO㪺yɦWz~Ip󲾰oӼҲթOH

[root@www ~]# rmmod [-fw] module_name
ﶵPѼơG
-f  GjNӼҲղA׬O_QϥΡF
-w  GYӼҲեQϥΡAh rmmod |ݸӼҲճQϥΧA~LI

dҤ@GNJ cifs ҲղI
[root@www ~]# rmmod cifs

dҤGGиJ vfat oӡyɮרtΡzҲ
[root@www ~]# insmod /lib/modules/$(uname -r)/kernel/fs/vfat/vfat.ko
insmod: error inserting '/lib/modules/2.6.18-92.el5/kernel/fs/vfat/vfat.ko': 
-1 Unknown symbol in module
# LkJ vfat oӼҲհڡI˸I

ϥ insmod P rmmod DNOAAnۦҲժɦW~AӥBpPWzdҤGGA U@ҲզۨݩʪDɡAANLkJβӼҲթOIҥH~ӧڭ̳ijϥ modprobe ӳBzҲոJDAoӫOΪkOG

[root@www ~]# modprobe [-lcfr] module_name
ﶵPѼơG
-c  GCXثetΩҦҲաI(ԲӪN)
-l  GCXثeb /lib/modules/`uname -r`/kernel ҦҲէɦWF
-f  GjJӼҲաF
-r  G rmmod ANOYӼҲo

dҤ@GJ cifs Ҳ
[root@www ~]# modprobe cifs
# ܤKaIݭnD㪺ҲɦWAoO]ӧɦWwgO
# /lib/modules/`uname -r`/modules.dep tGڡIpGnܡG
[root@www ~]# modprobe -r cifs

ϥ modprobe uOn insmod KܦhI]LOhjM modules.dep A ҥHoAMiHJAҲժ̩ۨʰDAӥB٤ݭnDӼҲժԲӸ|OI nKI ^_^

DG
ըϥ modprobe J vfat oӼҲաAåB[ӼҲժҲլOӡH
G
ڭ̨ϥ modprobe ӸJAAH lsmod [P grep ^rݬݡG
[root@www ~]# modprobe vfat
[root@www ~]# lsmod | grep vfat
vfat                   15809  0
fat                    51165  1 vfat <==ӴNO fat oӼҲհڡI

[root@www ~]# modprobe -r vfat <==էҲ


֤߼ҲժB~ѼƳ]wG /etc/modprobe.conf

oɮקڭ̤ewg͹LFAo̥uOAjդ@UӤwApGzQnקYǼҲժB~ѼƳ]wA Nboɮפ]waIڭ̰]@ӮרҦnFA]ڪd eth0 Oϥ ne A O eth1 Pˤ]ϥ ne AFקKP@ӼҲշ|ɭPdáA ]AڥiH eth0 P eth1 I/O P IRQ A]G

hG

[root@www ~]# vi /etc/modprobe.conf
alias eth0 ne
alias eth1 ne
options eth0 io=0x300 irq=5
options eth1 io=0x320 irq=7

KKIp@ӡAڪ Linux N|doI]QڱjwY I/O I ^_^


Boot Loader: Grub

bݧFeӶ}y{AHή֤߼ҲժzAAӷ|o{@ƱA NOy boot loader OJ֤ߪnuzڡIS boot loader ܡA kernel ڥNSkQtθJOIҥHAUڭ̷|ͤ@ boot loader \A MA@{q Linux Y̥Dy grub o boot loader aI


boot loader stage

ڭ̦bĤ@p`}y{a贿gLAb BIOS ŪTAUӴNO|Ĥ@Ӷ}˸m MBR hŪ boot loader FCo boot loader iH㦳\BJ֤ɮץHαv檺\൥A tΥn loader ~kJӧ@~tΪ֤ߴNOFCOڭ̳DA MBR OӵwЪĤ@ sector @Ӱ϶ARqӤjp]~ 446 bytes ӤwC ڭ̪ loader \ojAO{XP]wƤiu 446 bytes eqaHpwˡH

FѨMoӰDAҥH Linux N boot loader {XP]wȸJӶq (stage) ӰG

odz]wɬOb̰ڡHoǻP grub ɮ׳m /boot/grub Aڭ̴NӬݬݦɮקaI

[root@www ~]# ls -l /boot/grub
-rw-r--r--  device.map              <==grub ˸m(U|ͨ)
-rw-r--r--  e2fs_stage1_5           <==ext2/ext3 ɮרtΤwq
-rw-r--r--  fat_stage1_5            <==FAT ɮרtΤwq
-rw-r--r--  ffs_stage1_5            <==FFS ɮרtΤwq
-rw-------  grub.conf               <==grub b Red Hat ]w
-rw-r--r--  iso9660_stage1_5        <==оɮרtΩwq
-rw-r--r--  jfs_stage1_5            <==jfs ɮרtΩwq
lrwxrwxrwx  menu.lst -> ./grub.conf <== menu.lst ~O]wɡI
-rw-r--r--  minix_stage1_5          <==minix ɮרtΩwq
-rw-r--r--  reiserfs_stage1_5       <==reiserfs ɮרtΩwq
-rw-r--r--  splash.xpm.gz           <==}ɦb grub UIϥ
-rw-r--r--  stage1                  <==stage 1 
-rw-r--r--  stage2                  <==stage 2 
-rw-r--r--  ufs2_stage1_5           <==UFS ɮרtΩwq
-rw-r--r--  vstafs_stage1_5         <==vstafs ɮרtΩwq
-rw-r--r--  xfs_stage1_5            <==xfs ɮרtΩwq

qWAiHD /boot/grub/ ؿṶnNO]w (menu.lst) HΦUɮרtΪwqI ڭ̪ loader ŪFoɮרtΩwqƫAN{ɮרtΨŪbɮרtΤ֤ɮoC ܩ grub ]wɦWAӬO menu.lst AuOb Red Hat ̭Qwq /boot/grub.conf ӤwC ijz٬OO menu.lst nI

ҥHqWɮרӬݡA grub {ѪɮרtίuD`hI]pAҥH grub ~|N Lilo oӦѵP boot loader InFAUӴN@@]wɤԣ]wȧaI


grub ]w /boot/grub/menu.lst P

grub Oثeϥγ̼sx Linux }޲z{Aª Lilo oӶ}޲z{{bwgܤ֨FA ҥH~|N Lilo б˱󪺻Cgrub uIhA]AG

WĤTINO Stage 1, Stage 2 Ow˦b MBR (D{) Pɮרtη (]wɻPwq) ]աI nFAUӡAڭ̦nnAѤ@U grub ]wɡG /boot/grub/menu.lst oNaI n`NA lst O LST pgAndoI


w˦b MBR grub D{A̭nȤ@NOqϺзJ֤ɮA H֤߯QXʾӨtΪwCҥHoA grub n{ѵwФ~ڡI grub 쩳Op{ѵwЪOH KKI grub wЪN]wPDzΪ Linux ϺХNiOPIgrub wЪѧOϥΪOpUNG

(hd0,0)

FaH /dev/hda1 ۤzڡHun`NXӪFYiANOG

ҥHAĤ@yjM쪺wСzNGy(hd0)zAӸwЪĤ@μѬy(hd0,0)zAo˻AѤFaH ϥAnOoAb grub ̭AL}lƦrO 0 ӤO 1 NOFI

bªDOWAq`Ĥ@wз|b IDE 1 master WAN|O /dev/hdaAҥH``ڭ̥i|~| /dev/hda NO (hd0)AꤣOInݧA BIOS ]wȤ~IDO BIOS iHվ}wзjMǡANn`NFA] grub wХNi|ۧܧoIdNdNI

ҥHAӵwХNG

wзjMb Grub N
Ĥ@(hd0) (hd0,0) (hd0,1) (hd0,4)....
ĤG(hd1) (hd1,0) (hd1,1) (hd1,4)....
ĤT(hd2) (hd2,0) (hd2,1) (hd2,4)....

oӤnݥXӤFaHĤ@wЪ MBR w˳BwХNNOy(hd0)zA ӲĤ@wЪĤ@ӤμѪ boot sector NNOy(hd0,0)zĤ@wЪĤ@޿μѪ boot sector Ny(hd0,4)zAFaI

DG
]AtζȦ@ SATA wСAлӵwЪĤ@޿μѦb Linux P grub ɦWPNG
G
]O SATA ϺСA[Wϥ޿μѡA] Linux ɦW /dev/sda5 ~ (1~4 Od primary P extended ϥ)C ܩ grub ϺХNhѩȦ@ϺСA]N|Oy (hd0,4) z~C


AѤF grub ̳·ЪwХNAUӡAڭ̴NiH@@@]wɪeFCݤ@U CentOS /boot/grub/menu.lst nFG

[root@www ~]# vim /boot/grub/menu.lst
default=0     <==w]}ﶵAϥβ 1 Ӷ} (title)
timeout=5     <==Y 5 LAϥιw]}
splashimage=(hd0,0)/grub/splash.xpm.gz <==IϥܩҦbɮ
hiddenmenu    <==ŪO_ܥX㪺e(w])
title CentOS (2.6.18-92.el5)    <==Ĥ@ӿ檺e
        root (hd0,0)
        kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet
        initrd /initrd-2.6.18-92.el5.img

b title He|AOݩ grub ]wA]Aw]ݮɶPw]}ءA ٦ܪeSʵCܩ title ᭱~Ow}֤ɮשΪ̬O boot loader vC b]w譱إDn`G

]wajOoˡAөU title hOܶ}]wءCpPe@p`쪺A}ɥiH (1)w֤ɮ׶} (2)N boot loader vಾU loader (L{٬ chain-loader)CC title ᭱OyӶ}ئW٪ܡzAYObX{ɡAWW٦ӤwC oؤ觋]wԣPOH

  1. w֤߶}

    JMnw֤߶}AҥHMn֤ɮװաI~AiٻݭnΨ initrd RAM Disk ]wɡCOpeA |}AҥHڭ̥nH grub wѧO觋X㪺 kernel P initrd ɦW~C ]Aڭ̥iݭnU觋ӳ]w~I
    1. w֤ɮשm partitionAAŪɮ (ؿ)A
       ̫~[JɮתɦWP| (kernel P initrd)F
        /boot  /dev/hda1 A]֤ɮת]whG
    root    (hd0,0)          <==N֤ɮשb partition 
    kernel  /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet
    initrd  /initrd-2.6.18-92.el5.img
    
    W root, kernel, initrd ᭱ѼƪNqpUG

    root GNOy֤ɮשm partition ӤOڥؿzIndFI HרҨӻAڪڥؿ /dev/hda2 /boot W߬ /dev/hda1 A]P /boot A ҥHϺХNN| (hd0,0) oC

    kernel Gܩ kernel ᭱hO֤ߪɦWAӦbɦW᭱hO֤ߪѼơC ѩ}L{ݭnڥؿA] kernel ᭱ root=LABEL=/1 OyLinux ڥؿb partition zNC ٰOoĤK͹L LABEL \aH OAǫϥ LABEL ӱڥؿCܩ rhgb mܦ quiet hOwRҦ (ù|X֤߰T)C

    initrd GNOe쪺 initrd s@X RAM Disk ɮɦWաI
    2. w partition PɦWAݭnB~w֤ɮשҦb˸mN
    kernel  (hd0,0)/vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet
    initrd  (hd0,0)/initrd-2.6.18-92.el5.img
    
    ѹ껡Awoؼ˦ɦWgkA]o˧ڭ̴ND֤ɮ׬ObӸ˸mYɦWA Ӥ|hQڭ̪ڥؿ (/, root) աIڭ̨ӷQQ /boot WߤλPLWߤΪpaI

    DG
    ڪtΤάOG /dev/hda1 (/), /dev/hda2 (swap) ӤwABڪ֤ɮ׬ /boot/vmlinuzAа grub menu.lst Ӧp󼶼g֤ɮצmH
    G
    ڭ̨ϥ|N觋AѤ@UnFCѩ֤ɦW /boot/vmlinuzAন˸mɦWPN|pUL{G
    lɮסG  /boot/vmlinuz 
    Linux ˸mG(/dev/hda1)/boot/vmlinuz 
    grub  ˸mG(hd0,0)/boot/vmlinuz
    ҥH̲ת kernel gk|ܦG
    kernel (hd0,0)/boot/vmlinuz root=/dev/hda1 ...

    DG
    PWAuOڪαpܦG /dev/sda1 (/boot), /dev/sda5 (/) ɡH
    G
    ѩ /boot QWߥXӤFAҥHp|@˳IpUҥܡG
    lɮסG  /boot/vmlinuz 
    Linux ˸mG(/dev/sda1)/vmlinuz 
    grub  ˸mG(hd0,0)/vmlinuz
    ҥH̲ת kernel gk|ܦG
    kernel (hd0,0)/vmlinuz root=/dev/sda5 ...

  2. Q chain loader 觋汱v

    ҿת chain loader (}޲z{쵲) ȬObNv浃U@ boot loader ӤwA ҥH grub äݭn{ѻPX kernel ɦW Ay LuON boot v浃U@ boot sector MBR boot loader Ӥw z ҥHq`L]ݭnhdU@ boot loader ɮרtΡI

    @ӻA chain loader ]wunӴNFA@ӬOwpne boot sector ҦbμѥNA t@ӫhO]w chainloader bӤμѪ boot sector (Ĥ@Ӻϰ) WI]ڪ Windows μѦb /dev/hda1 ABڤSu@wСAn grub Nv浃 windows loader uno˴NFG
    [root@www ~]# vi /boot/grub/menu.lst
    ....e....
    title Windows partition
    	root (hd0,0)    <==]wϥΦμ
    	chainloader +1  <== +1 iHQĤ@ӺϰϡAYO boot sector
    
    WdҤAڭ̥iH²檺o˷QG (hd0,0) NO Windows C ѩҦbϺСA chainloader +1 NOtθJӤμѷĤ@Ӻϰ (NO boot sector) }޲z{C LAѩ Windows }лݭn]w (active) AABڭ̪ grub w]|hӤμѪɮרtΡC ]ڭ̥iHsNWdҧgoˡG
    [root@www ~]# vi /boot/grub/menu.lst
    ....e....
    title Windows partition
    	rootnoverify (hd0,0)   <==禹μ
    	chainloader +1
    	makeactive             <==]wμѬ}(active)
    
    grub \٤ALٯìYǤμѡC|ҨӻAڪ /dev/hda5 Ow Linux μѡA ڤQ Windows {ѳoӤμѮɡAAiHo˰G
    [root@www ~]# vi /boot/grub/menu.lst
    ....e....
    title Windows partition
    	hide (hd0,4)           <== (hd0,4) oӤμ
    	rootnoverify (hd0,0)
    	chainloader +1
    	makeactive
    

initrd nʻPإ߷s initrd ɮ

ڭ̦byey boot loader P kernel JzawgL initrd oNALتb󴣨Ѷ}L{һݭṋn֤߼ҲաAHtζ}L{iHQC |ݭn initrd ]AO]֤߼Ҳթm /lib/modules/$(uname -r)/kernel/ A oǼҲեnڥؿ (/) Qɤ~QŪCOpG֤ߥƺϺЪXʵ{ɡA MLkڥؿA]NSkoXʵ{A]yaBC

initrd iHN /lib/modules/.... y}L{@wݭnҲաz]@ɮ (ɦWNO initrd)A Mb}ɳzLD INT 13 w\NɮŪXӸYAåB initrd bO馎|ڥؿA ѩ󦹵ɮרt (Initial RAM Disk) Dn]tϺлPɮרtΪҲաA]ڭ̪֤̫߳N{ѹڪϺСA NiڮڥؿաIҥHGyinitrd ҥ]tҲդjhOP}L{AӥDnHɮרtΤεwмҲ (p usb, SCSI ) DzաI

@ӻAݭn initrd ɨ謰G

e initrd oɮתnʡAO]ܽa... ^_^C] Linux DOwA ϥΪO IDE wСAӥBèSϥ LVM S榡ɮרtΡA Linux ֤ߥN{ IDE ϺСA ]ݭn initrd ]iHQ}C۱q SATA wЬy_ӫAS initrd NSk}FI ] SATA wШϥΪO SCSI ҲըXʪA Linux w]N SCSI \sĶҲ....

@ӻAU distribution Ѫ֤߳|W initrd ɮסApGpSݭnҥHQs initrd ɮתܡA iHϥ mkinitrd ӳBzCoɮתBz觋²A man mkinitrd NDFI ^_^C ڭ٬O²檺Ф@UhI

[root@www ~]# mkinitrd [-v] [--with=ҲզW] initrdɦW ֤ߪ
ﶵPѼơG
-v  G mkinitrd B@L{
--with=ҲզW١GҲզW٫OҲժWrӤwAݭngɦWC|ҨӻA
       ثe֤ߪ ext3 ɮרtμҲլUɦWG
       /lib/modules/$(uname -r)/kernel/fs/ext3/ext3.ko
       pӭngG --with=ext3 NnF (ٲ .ko)
initrdɦWGpҭnإߪ initrd ɦWAɶqNqSnOWrC
֤ߪ  GY@Ӯ֤ߪApGOثe֤߫hOy $(uname -r) z

dҤ@GH mkinitrd w]\إߤ@ initrd Ϻɮ
[root@www ~]# mkinitrd -v initrd_$(uname -r) $(uname -r)
Creating initramfs
Looking for deps of module ehci-hcd
Looking for deps of module ohci-hcd
....(ٲ)....
Adding module ehci-hcd  <==̲ץ[J initrd NOUҲ
Adding module ohci-hcd
Adding module uhci-hcd
Adding module jbd
Adding module ext3
Adding module scsi_mod
Adding module sd_mod
Adding module libata
Adding module pata_sis

[root@www ~]# ll initrd_*
-rw------- 1 root root 2406443 Apr 30 02:55 initrd_2.6.18-92.el5
# ѩثe֤ߪiϥ uname -r oA]ϥθ²檺OӳBzo
#  initrd |Qإ߰_ӡApiHNLʨ /boot ݨϥΡC

dҤGGW[ 8139too oӼҲժ initrd ɮ
[root@www ~]# mkinitrd -v --with=8139too initrd_vbirdtest $(uname -r)
....(eٲ)....
Adding module mii
Adding module 8139too  <==ݨSIo˴N[JFI

initrd إߧAPɮ֤ߤ]BzAڭ̴NiHϥ grub ӫإ߿FIU~@@@aI


ջPw grub

pGA Linux DӴNOϥ grub @ loader ܡAANݭnsw grub FA ] grub ӴN|DʥhŪ]wɰڡIzOaIpGA Linux ӨϥΪëD grub A NݭnӦw˰աIpw˩OHAAnϥ grub-install N@ǥnɮ׽ƻs /boot/grub ̭hAAӳo˰G

w˨ǤOH] boot loader stage Aӳ]wɱonmAaC o grub-install NObw˳]w (]AɮרtΩwqɻP menu.lst ) ӤwI pGnN grub stage1 D{w˰_ӡANonϥ grub shell \Iy|СC
[root@www ~]# grub-install [--root-directory=DIR] INSTALL_DEVICE
ﶵPѼơG
--root-directory=DIR  DIR ڪؿAϥ grub-install w]|N
  grub Ҧɮ׳ƻs /boot/grub/* ApGQnƻsLؿP˸mhA
  NonγoӰѼơC
INSTALL_DEVICE w˪˸mNաI

dҤ@GN grub w˦bثetΪ MBR UAڪtά /dev/hdaG
[root@www ~]# grub-install /dev/hda
# ]쥻 /dev/hda NOϥ grub AҥHG|X{SOTC
# pGhd\@U /boot/grub eA|o{Ҧɮ׳sFA]ڭ̭ˤFI

dҤGGڪ /home Wߪ /dev/hda3 Apw grub  /dev/hda3 (boot sector)
[root@www ~]# grub-install --root-directory=/home /dev/hda3
Probing devices to guess BIOS drives. This may take a long time.
Installation finished. No error reported.
This is the contents of the device map /home/boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(fd0)   /dev/fd0
(hd0)   /dev/hda   <==|˸mNI

[root@www ~]# ll /home/boot/grub/
-rw-r--r-- 1 root root     30 Apr 30 11:12 device.map
-rw-r--r-- 1 root root   7584 Apr 30 11:12 e2fs_stage1_5
....(Uٲ)....
# ݡIɮ׳w˶iӤFIO`NAڭ̨èS]wɳInۤvإߡI

ҥHA grub-install Ow grub ɮ (ҦpɮרtΩwq) A˸mWhݦb}ɳQŪAٻݭn]wn]w (menu.lst) AAH grub shell Ӧw grub D{ MBR Ϊ̬O boot sector WhInFAڭ̨ӫҤ@UQnw˪ơC

DG
ڹwp}ɭnܿAB˼Ƭ 30 Ct~Ab쥻 menu.lst sWTӶ}AOpUG
  1. ] /dev/hda1 t boot loader A loader povH
  2. p󭫷sŪ MBR loader H
  3. QΧA쥻tή֤ɮסAإߤ@ӥijiJH@Ҧ
G
Ĥ@I²ANQΤW@p`ӳBzYiCܩĤGIAMBR ŪŪOwЪĤ@ӺϰϡA ] root (hd0) ~O諸CĤTIhP֤ߪѼƦCɮץiHQgoˡG
[root@www ~]# vim /boot/grub/menu.lst
default=0
timeout=30
splashimage=(hd0,0)/grub/splash.xpm.gz
#hiddenmenu
title CentOS (2.6.18-92.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet
        initrd /initrd-2.6.18-92.el5.img
title /dev/hda1 boot sector  <==ҤĤ@ӷsW
        root (hd0,0)
        chainloader +1
title MBR loader             <==sWĤGӿ
        root (hd0)           <==MBR ϺЪĤ@ӺϰϡAҥHξϺЪN
        chainloader +1
title single user mode       <==sWĤTӿ(ѭ쥻titleƻsӪ)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet single
        initrd /initrd-2.6.18-92.el5.img
U}ɡAAN|o{|ӿiHܡAӹw]|HĤ@ӿӶ}I

ڭ̤wgN]wɳBzAOAnDOAڭ̨äD /dev/hda1 쩳S]t grub D{A ]ڭ̷QnN grub D{Aw˨ /dev/hda1 boot sector A]Qnsw grub MBR WhC ɧڭ̴Nonϥ grub shell oIӦw˻P grub shell ʧ@²A pGzsܡAiHϥ info grub hd\㳾o̶ȤдXӦΪOӤwC

ѩڭ̳̻ݭnw˪NO stage1 աI~O grub D{IӥB]wɳq`PD{\bP@ӥؿUC ]ڭ̻ݭnϥ root (hd0,0) h /boot/grub/stage1 IUӡAХ grub ӶiJ grub shell aIiJ grub A|X{@ӡy grub> zܦrڡI

[root@www ~]# grub

# 1. ]w@Ut grub ؿ partition ڡI
grub> root (hd0,0)
 Filesystem type is ext2fs, partition type 0x83
# DΤA/boot/grub b /boot μѡAYO /dev/hda1 I
# t~A grub ]XӤμѪɮרt (ext2)C

# 2. jM@UAO_sb stage1 oӸTɮסH
grub> find /boot/grub/stage1
 (hd0,2)
# I|u@ӡIڭ̩ /boot/grub P /home/boot/grub ڡI
# ] /boot OWߪA]nɦWNonΦpU觋G

grub> find /grub/stage1
 (hd0,0)
# o˴NoInSO`N grub 줣OؿAӬO˸mɮסC

# 3. jM@UO_iH֤ߡH /boot/vmlinuz-2.6.18-92.el5 H
grub> find /boot/vmlinuz-2.6.18-92.el5
Error 15: File not found
grub> find /vmlinuz-2.6.18-92.el5
 (hd0,0)
# AjաA] /boot/ OWߪA]N|ܦWYҼoI

# 4. ND{wˤWhaIw˨ MBR ݬݡI
grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... no <==] /boot OWߪ
 Checking if "/grub/stage1" exists... yes     <==ҥHoɦW~O諸I
 Checking if "/grub/stage2" exists... yes
 Checking if "/grub/e2fs_stage1_5" exists... yes
 Running "embed /grub/e2fs_stage1_5 (hd0)"...  15 sectors are embedded.
succeeded
 Running "install /grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/grub/stage2 
/grub/grub.conf"... succeeded  <==N stage1 {w˧oI
Done.
# ܦnIT꦳˰_ӡo grub Nb MBR FI

# 5. 򭫽Ʀw˨ڪ /dev/hda1 OHYO boot sector H
grub> setup (hd0,0)
 Checking if "/boot/grub/stage1" exists... no
 Checking if "/grub/stage1" exists... yes
 Checking if "/grub/stage2" exists... yes
 Checking if "/grub/e2fs_stage1_5" exists... yes
 Running "embed /grub/e2fs_stage1_5 (hd0,0)"... failed (this is not fatal)
 Running "embed /grub/e2fs_stage1_5 (hd0,0)"... failed (this is not fatal)
 Running "install /grub/stage1 (hd0,0) /grub/stage2 p /grub/grub.conf "... 
succeeded
Done.
# MLkN stage1_5 w˨ boot sector hALA٤|DA
# IO̫᭱ stage1 nw˫A succeeded r˴NiHFI

grub> quit

p@ӡANwgN grub w˨ MBR /dev/hda1 boot sector ̭hFI ӥBŪO (hd0,0) ̭ /grub/menu.lst ɮ׳IuOܭnڡIn줣I

̫`@UG

  1. pGOqL boot loader ন grub ɡAoϥ grub-install w grub ]wɡF
  2. }ls menu.lst oӭn]wɡF
  3. zL grub ӱND{w˨tΤAp MBR (hd0) boot sector (hd0,0) C

}eB~\ק

ƹWAW@Ӥp`]wnAA grub NwgbA Linux tΤWFAӥBPɦsb MBR P boot sector OIҥHAڭ̤wgiHs}Ӭd\ݬݰաI t~ApGAbi}AЪ`NAڭ̥iHbw] (dҷO 30 ) UNA ٥iHi grub yuWsסz\IuOΰڡIӬݬݶ}eaI

grub }eܷN
3.5.1Bgrub }eܷN

ѩ󳾭Nÿ檺\FA]A|ݨo|ӿAPɷ|ŪNNb˼ơC 泡eNO title ᭱rաIA{bDpק title ᭱rFaI ^_^C pGAϥΤWUhܲĤG (/dev/hda1 boot sector) βĤT (MBR loader) ɡA|o{P˪eƥX{I oO]ӬO loader ӤwIӧڭ̳ϥάۦP grub PۦP menu.lst ]wɡI ]oӵeN|ƥX{FIoAѥGH

t~ApGAAJӬݪܡA|o{WϤ٦@DzӳﶵAG 'e' edit ˤlI S grub 䴩uWs׫OIoOӫܦΪ\IpAN menu.lst egFAɭPX{Lk}DɡA ڭ̥iHd\ title 檺eå[HקI|ҨӻAڷQnDĤ@ӿ檺ڤeɡANϥեβʨĤ@ӿA AU 'e' |iJpUeG

grub @椺e
3.5.2Bgrub @椺e

IoNOڭ̦b menu.lst ̭]wFܡHSIɧA٥iH~i@BקI `NݨWϳ̩UAA٥iHϥΡG

ڭ̻LA grub OiHϥή֤ɮרӶ}AҥHApGzܲMDAڥؿ (/) b partition AӥBDA֤ɮɦW (q`| /boot/vmlinuz s쥿TɦW)A 򪽱bϤTeAHWz o, d, e TӫӽsסAUoˡG

grub edit uWsץ\
3.5.3Bgrub edit uWsץ\

U [Enter] AMJ b boot ANiH}աIҥHAU@A /boot/grub/menu.lst ]w~AΪ̬O]w˪tGAΪ̬O]֤ɮתtGAɭPLkQ}ɡAOoڡAiHb grub 泡A ϥ grub shell 觋hd (find) Ϊ̬Ow֤ɮסAN}աI ^_^

t~Aܦhɭԧڭ̪ grub i|oͿ~AɭPys grub LkҰʡzAڥNLkϥ grub uWsץ\IHSYڡIڭ̥iHQΨ㦳 grub } CD Ӷ}A MAH CD grub uWsסAKKIP˥iHϥεwФW֤ɮרӶ}աIܦnaI ^_^


֤ߥ\ vga ]w

ƹWAA tty1~tty6 F 80x24 ѪRץ~AٯLѪRת䴩IeUOA֤ߥ䴩 FRAMEBUFFER_CONSOLE oӮ֤ߥ\ﶵ~CpTwS䴩OHAiHd\ /boot/config-2.6.18-92.el5 oɮסAMo˷jMG

[root@www ~]# grep 'FRAMEBUFFER_CONSOLE' /boot/config-2.6.18-92.el5
CONFIG_FRAMEBUFFER_CONSOLE=y
# oӶئpGX{ y NO䴩աIpGQѩάO n ANOS䴩աI

pվ tty1 ~ tty6 ׺ݾѪRשOHѦҩUA (Qiƭ)G

m\ѪR640x480800x6001024x768 1280x1024bit
2567697717737758 bit
3276878478779079315 bit
6553678578879179416 bit
16.8M78678979279532 bit

]AQnNA׺ݾùѪR׽վ 1024x768 ABm`׬ 15bit ⪺ɭԡANonw vga=790 ӼƦrI |ҨӻA tty1 NQno˪ѪR׮ɡAAiHo˰G

[root@www ~]# vim /boot/grub/menu.lst
....(eٲ)....
title CentOS (2.6.18-92.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet vga=790
        initrd /initrd-2.6.18-92.el5.img
....(᭱ٲ)....

s}ÿܦiJ LinuxAA] tty1 hݬݡAKKINwgO 1024x768 ѪRoI uOr|ܪܤpAOed|[jNOFCLAYǪ䴩O 16 iAҥHٻݭnק@U榡OI @ϥΤWӴNiHFCLAѩ󤣦P@~tλPwi|@˪pA]A WȤo@wiHbzWզ\AijziHO]wݬݭHXiHϥΪȡI ^_^


BIOS LkŪjwЪD

{wЮeqVӶVjApGAϥªDOӦwjeqwЮɡAiѩt BIOS Ϊ̬OLDA ɭP BIOS LkP_ӵwЪeqAɧAtŪi|DCOH

ڭ̦b@}l}y{LAiJ Linux ֤ߥ\AL|DʪAh@UӨtΡA ] BIOS 쪺wb Linux ֤ߤϦӥi|iHӥ`ϥΡC|ҨӻALhܦhBͱ``|o{A yڪtΨϥ DVD }wˮɡAiHQw˦n Linux AOĤ@}ɡA ùuX{@ABX{ grub> rˡAӵLkiJ Linux tΤzAoSO@^ơH

h grub ~NXdߥiH쩳Usd\G

{bADDҦbաINO BIOS LkŪjeqϺФ kernel P initrd ɮC pѨMOH²աIN kernel P initrd ɮשmbjwЪ̫eYAѩ BIOS ܤ֥iHŪjϺЪ 1024 ϬWơA]NŪ֤߻PɮרtΪɮoCp kernel P initrd mwЪ̫eOH²檺nRaINإ /boot WߤμѡAñN /boot m̫eYiIhLѨMץiѦҤ᪺\Ū(4)

U@AwgwˤF Linux BoͤFWzDAӫHAiHo˧@G

LA٬OijziHswˡAåBs@X /boot o partition աI ^_^Io]Oԣo󪩤A SOjխnΥX /boot oӤμѪ]ڡI


ӧO[WKX

Q@ҡApGA޲zO@qЫǡAoqЫǦ]i~}AOAS߬Y partition Qǥͤpߪ˶áA]Ai|QnNYǶ}@ӫO@CoӮɭԡACӿ@ӥ[KKXNOӥi檺װաI pb}L{̭ѱKXO@OHAAnإ߱KXAӥBٻݭnO[KL᪺I _hHa] /boot/grub/menu.lst NiHdA}KXFHpإߥ[KKXOH ڭ̥iHzL grub Ѫ md5 sXӳBzApUҥܡG

[root@www ~]# grub-md5-crypt
Password: <==JKX
Retype password: <==AJ@
$1$kvlI0/$byrbNgkt/.REKPQdfg287. <==oNOͪ md5 KXI

W̫ͪ@A $ }l . ANOAKXgL md5 sXL᪺NNI NoӱKXƻsUӧaI]ڭ̭nNĤ@ӿﶵ[JoӱKXAӲĥ|ӿﶵ[Jt~KXA Aӭno˰G

[root@www ~]# vim /boot/grub/menu.lst
....(eٲ)....
title CentOS (2.6.18-92.el5)
        password --md5 $1$kvlI0/$byrbNgkt/.REKPQdfg287.
        root (hd0,0)
        kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet vga=790
        initrd /initrd-2.6.18-92.el5.img
....(ٲ)....
title single user mode
        password --md5 $1$GFnI0/$UuiZc/7snugLtVN4J/WyM/
        root (hd0,0)
        kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet single
        initrd /initrd-2.6.18-92.el5.img

WרҤAڭ̨ӿiJKXäۦPAiHiPǪաILoˤ]y@ӰDA NO@wnJKX~iJ}y{ApGAbݨϥ reboot s}AåBDeèSH.... ADä|DʶiJ}{dzI ^_^

An`NOGpassword oӶؤ@wnb title UĤ@C LA\٬OiQ}ѪA]ϥΪ̥iHzLsҦ (e) iJAçRKXëU b Ni}y{FIuV|IHunzL骺 password (bҦ title e) A Mb title UĤ@]w lock AϥΪ̷QnsɡA]onJKX~ڡI]wIoˡG

[root@www ~]# vim /boot/grub/menu.lst
default=0
timeout=30
password --md5 $1$kvlI0/$byrbNgkt/.REKPQdfg287.  <==b]wB
splashimage=(hd0,0)/grub/splash.xpm.gz
#hiddenmenu
title CentOS (2.6.18-92.el5)
        lock  <==hFꦺ\
        root (hd0,0)
        kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet vga=790
        initrd /initrd-2.6.18-92.el5.img

򭫷s}Ae|oˡG

grub [KܷN
3.8.1B grub [KܷN

AiHݨ̤UȥX{ p \Aѩ 2, 3, 4 èSϥ lock A]oTӿϥΪ٬OiH}{ǡA OĤ@ӿѩ lock ءA]DAJTKXA_hĤ@ӿOLkQJ檺C t~AoӶؤ]קKA menu.lst b}L{QçAO㦳OK menu.lst \աI P𫍧KX\णPC


}L{DѨM

ܦhɭԡAڭ̥i]FYdz]wAΪ̬O]` (Ҧpgqq) ӾɭPtΪ filesystem áAɡALinux iLkQ}\AOHDnHMݭnաI iJ run level 1 (H@Ҧ) hBzBzAӴN OK աIUڭ̴Nӽͤ@ͦpBzXӱ`DI


ѰO root KXѨMD

jaDOФOΡAeѪFѦ𫍧ApGs root KXѰOFAH b Linux Ҥ root KXѰO٬OiHϦ^ӪIuniJåB / A M᭫s]w@U root KXANϦ^ӰաIoO]}y{AYj֤߶iJ runlevel 1 ɡA w]OݭnKXYio@ root shell ӱϴCӰʧ@IoˡG

  1. s}I@wns}I򭫶}SYF

  2. b}iJ grub A (1)bAniJWI 'e' iJԲӳ]wF (2)Nβʨ kernel WI 'e' iJseF (3)MX{pUeӳBzG
    grub edit> kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/ rhgb quiet single
    
    INOӯSr骺NNաIU [enter] AU b N}iJH@ҦFC

  3. iJH@ҦAtη|H root vA@ shell AɧANy passwd zoӫOӭ root KXաIM᪽y init 5 zNiH X oINOo²C

init ]wɿ~

e@ root KXϪkiHΦbܦhaAߤ@@ӵLkϪpANO /etc/inittab oɮ׳]w~ɭPLk}Iھڶ}y{Aڭ̪D runlevel 0~6 |Ū /etc/inittab ]wɡA ]Aϥ single mode (runlevel 1) M]OnŪ /etc/inittab Ӷi}CJMLkiJH@ҦA NܳoDLoHD]D]AJMw] init LkAڭ̴NiD֤ߤn init AIs bash ڡI iHL init ܡHiHAP˦b}iJ grub AP˦b grub edit pUo˰G

grub edit> kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/ rhgb quiet init=/bin/bash

]ڭ̫wF֤ߩIsĤ@{ (init) ܦ /bin/bashA] /sbin/init N|QC Sھڶ}y{Aڭ̪DMiHQ root o bash Ӥu@A (1)Fڥؿ~ALؿSQF (2)ڥؿQŪAC]ڭٻݭni@ǰʧ@~IpUҥܡG

iJ bash
4.2.1B L init {ǡAiJ bash shell

ȤUFӫOAy mount -o remount,rw / zγ~ONڥؿsiŪgAܩy mount -a zhOѦ /etc/fstab esɮרtI ɧASiH}iϴu@FIuOϴAAonϥΡy reboot zs}@~I


BIOS ϺйD (device.map)

ѩثewЫܫKyڡAҥHܦhBʹNQGyگणN Windows w˦b /dev/hda Linux w˦b /dev/hdb A Mվ BIOS }˸mǡAphMtΦUU loader w˦bӧOwЪ MBR FIzC oӷQkD`nAp@Ө̴N|ۤzZA]CϺЪ MBR ӧOP@~tΪ loader I DOAgrub ϺЪ˸mNϥΪO쪺ڡI ]NOAAվF BIOS Ϻж}ǫAA menu.lst ˸mNNi|~ϺФWFIڡIuQI

SYAڭ̥iHzL /boot/grub/device.map oɮרӼgCӸ˸m grub ϺХNI |ҨӻAoɮפepUG

[root@www ~]# cat /boot/grub/device.map
(fd0)   /dev/fd0
(hd0)   /dev/hda

pGAMpBzܡA]iHQ grub-install \IҦpG

[root@www ~]# grub-install --recheck /dev/hda1

o device.map N|DʪQsFIoAѥGH


]ɮרtο~ӵLk}

pG]]w~ɭPLk}ɡAnڡHoN²FI̮eX]wӾɭPLkQ}BJAq`NO /etc/fstab oɮפFAרOϥΪ̦b@ Quota ɡA̮egѼơA SSgL mount -a ӴձANߨ誽s}AunRILk}\H oرpDjhpUeҥܡG

ɮרtο~ܷN
4.4.1B ɮרtο~ܷN

ݨ̫ALiHJ root KX~[HϴIпJ root KXӨo bash åH mount -o remount,rw / NڥؿiŪgA~BzaI|yWzei઺]F /etc/fstab s~~ApGAg`A]iɭPɮרtΤ@P (Inconsistent) pA ]i|X{ۦPDڡIpGOϰϿêpAЬݨWϤĤGBA fsck iO /dev/md0 XA ɧANӭnQ fsck h˴ /dev/md0 ~OItεo{~AåBX{yclear [Y/N]zɡAJy y zaI

o fsck L{i|ܪAӥBpGA partition W filesystem LhƷlɡA Y fsck Ai]˨tμѡAɭPYtɮ׸ƪlA¬OLkiJ Linux CɡANnNONtηnƽƻsXӡAM᭫swˡAåB@UA O_wЦl˪{H~nIL@ӻAӥi|o˰ա q`O fsck BzANQAiJ Linux FC


Q chroot t@wФu@

Jˬd@UAA Linux ̭ӷ|@ӦW chroot O~IoOԣH oOy change root directory zNաINNOAiHȮɱNڥؿʨYӥؿUA MhBzYӰDA̫A} root Ӧ^쥻tηC

|ҨӻAɲ߯Z̮߳eT Linux tΦbP@ӥDWA]ڪĤ@ Linux LkiJFAڥiHϥβĤG Linux }AMbĤG Linux tΤUNĤ@ Linux _ӡA ̫ chroot ܴĤ@ Linux ANiJĤ@ Linux ҷhBzu@FC

APˤ]iHNA Linux wЩިt@ Linux DWhAMγo chroot ӤA HBzAwаDڡI򰵰ڡH²աI

  1. κɥkAiJ@ӧ㪺 Linux t ( run level 3 5 )F

  2. ]D Linux ϺЦb /dev/hdb1 WABLӨtΪƦCOG
    	I   ˸mɦW
    	/      /dev/hdb1
    	/var   /dev/hdb2
    	/home  /dev/hdb3
    	/usr   /dev/hdb5
    YpܡAbڥثeo Linux UAڥiHإߤ@ӥؿAMiHo˰G
    	I           ˸mɦW
    	/chroot/       /dev/hdb1
    	/chroot/var/   /dev/hdb2
    	/chroot/home/  /dev/hdb3
    	/chroot/usr/   /dev/hdb5
  3. AAJy chroot /chroot zKKIAN|o{Aڥؿ (/) ܦ /dev/hdb1 ҰաIo˻AAFܡH ^_^

I^U

D
( nݵ׽бNƹʨyGzUťճBAUťճBYi )

²DG

ѦҸƻP\Ū

2003/02/10GĤ@
2005/09/19GNª峹ʨ B C
2005/09/26GN ֤߽sĶ @qigA@wnǰաIO֤߼ҲդiDAҥHAsW@p`I
2005/09/28Gש󵹥LhIn֡
2005/10/09G[WѦҤmơAHέק@Ǩ kernel }ɡA grub vga ]wȪѻC
2005/11/09G[WFjwЩҲͪxZI
2006/08/21GMBR ӥu 512 bytes AG~Ӭ 512 Kbytes ApI
2007/06/27GsW initrd AаѦoC
2009/04/09GNª FC4 峹ʨBC
2009/04/10GF LILO boot loader IoNwghyIҥHAjաIݭnЬdBC
2009/04/30G׭qA[j init=/bin/bash AH grub KX޲zI
2009/09/14G[JҼAîھڰQװ linuxfans SijAקF@ǦaIԱаѦҰQװϫijI