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 |
}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
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
jy{NOWgӼˤlաAA|o{ init oӳåD`I ҥHڭ̤~|bĤQC pstree OͨoåC C@ӵ{ǪeDnObFOHUNOӽͤ@ͧaI
ڭ̦bĤTgL²檺}y{P MBR \A
ɬFh}Ӷi檺²uСC{bAwg Linux ¦FAҥHUڭ̨ӥ[jաI
ڭ̦bĹspNLqD[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ήɶڡBUPyƪ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
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)
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 ӥBFvTϺФɮר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
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
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 ϥҤPCWA̾ڦ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] |
inittab ]w | Nq |
initdefault | Nw] run level ]w |
sysinit | NtΪlƪʧ@ |
ctrlaltdel | N [ctrl]+[alt]+[del] TӫO_iHs}]w |
wait | N᭱]wOإn槹~~ULʧ@ |
respawn | N᭱쪺OiHLA (sҰ)C|ҨӻA tty1 mingetty ͪinJeA bAnXӵAtη|A}@ӷsinJeݤU@ӵnJC |
ƹW /etc/inittab ]w]I shell script աA]ɮפe]w]O@@檺qWUBzA ]ڭ̥iHD CentOS init ̾ inittab ]wBzy{|OG
{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
ٰ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
b /etc/rc.d/rc.sysinit Ntγ]wƳgnFA]NtΪƳ]wI ӦpGAQnD쩳}L{oͤFƱOHNy dmesg zaC t~AWAboɮҶ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
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ĤQKLAȪҰʥ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
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
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 OHFoӲݾ~A init ٷ| /etc/X11/prefdm -nodaemon ӫOIӫOڭ̷|bĤGQ|BX Window AӸԽ͡I LDn\NObҰ X Window աI
ڭ̦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
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
]쥻ڭ̬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
ͧ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
JMnBz֤ҲաA۵MNonAAѧڭ̮֤ߴѪҲդʰաI WA֤ҲժmBOb /lib/modules/$(uname -r)/kernel A̭Dn٤XӥؿG
arch GPw饭xءAҦp CPU ŵF crypto G֤ߩҤ䴩[KNAҦ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 ^_^
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~IpoӼҲթOH
[root@www ~]# rmmod [-fw] module_name ﶵPѼơG -f GjNӼҲղAO_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
|
oɮקڭ̤ewgLFAo̥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 ^_^
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
ڭ̦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 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зjM | b 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֤ɮש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 |
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
|
DG
ڪtΤάOG /dev/hda1 (/), /dev/hda2 (swap) ӤwABڪ֤ɮ /boot/vmlinuzAа grub menu.lst
Ӧpg֤ɮצ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 ... |
[root@www ~]# vi /boot/grub/menu.lst ....e.... title Windows partition root (hd0,0) <==]wϥΦμ chainloader +1 <== +1 iHQĤ@ӺϰϡAYO boot sector |
[root@www ~]# vi /boot/grub/menu.lst ....e.... title Windows partition rootnoverify (hd0,0) <==禹μ chainloader +1 makeactive <==]wμѬ}(active) |
[root@www ~]# vi /boot/grub/menu.lst ....e.... title Windows partition hide (hd0,4) <== (hd0,4) oӤμ rootnoverify (hd0,0) chainloader +1 makeactive |
ڭ̦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
@ӻ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
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
G
Ĥ@I²ANQΤW@p`ӳBzYiCܩĤGIAMBR ŪŪOwЪĤ@ӺϰϡA
] root (hd0) ~O諸CĤTIhP֤ߪѼƦCɮץiHQgoˡG
|
ڭ̤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
ƹ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
ѩ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 䴩uWsOIoOӫܦΪ\IpAN menu.lst egFAɭPX{Lk}DɡA ڭ̥iHd\ title 檺eå[HקI|ҨӻAڷQnDĤ@ӿ檺ڤeɡANϥեβʨĤ@ӿA AU 'e' |iJpUeG
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
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 ^_^
ƹ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\ѪR | 640x480 | 800x600 | 1024x768 | 1280x1024 | bit |
256 | 769 | 771 | 773 | 775 | 8 bit |
32768 | 784 | 787 | 790 | 793 | 15 bit |
65536 | 785 | 788 | 791 | 794 | 16 bit |
16.8M | 786 | 789 | 792 | 795 | 32 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 ^_^
{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ԣoA SOjխnΥX /boot oӤμѪ]ڡI
Q@ҡApGAzO@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
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
ܦ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
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
grub edit> kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/ rhgb quiet single
|
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
Ȥ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
ѩث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
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
ݨ̫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
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
I ˸mɦW / /dev/hdb1 /var /dev/hdb2 /home /dev/hdb3 /usr /dev/hdb5Ypܡ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
boot: linux rescue
|