際際滷

際際滷Share a Scribd company logo
H畛 i畛U HNH LINUX
              TR畉N TH畛 NG畛C MAI




      QU TRNH KH畛I 畛NG V
                   NG T畉T




                                  1
&
VC
     BB
          C叩c b動畛c kh畛i 畛ng h畛 th畛ng Linux (1)




                                            HH Linux   2
&
VC
     BB
          C叩c b動畛c kh畛i 畛ng h畛 th畛ng Linux (2)

      B畉t m叩y, BIOS nh畉n di畛n c叩c device (qu叩 tr狸nh
      ny g畛i l Power On Self Test - POST)
      畛c Master Boot Record 畛 t畉i boot loader
      (tr狸nh lilo ho畉c tr狸nh grub) vo RAM: cho ph辿p
      l畛a ch畛n h畛 i畛u hnh boot.
      T畉i nh但n v kh畛i t畉o RAM disk
      /sbin/init: ti畉n tr狸nh cha c畛a m畛i ti畉n tr狸nh.
      /etc/inittab: quy畉t 畛nh run level v kh畛i 畛ng
      c叩c d畛ch v畛 c畉n thi畉t c畛a run level 坦.



                                                HH Linux   3
&
VC
     BB
          Boot loader

      Boot loader hay c嘆n g畛i l boot manager cho
      ph辿p qu畉n l箪 nhi畛u h畛 i畛u hnh v ch畛n 1 h畛
      i畛u hnh 畛 boot vo.
      Hai boot loader ph畛 bi畉n c畛a Linux:
      
        LILO (LInux LOader)
      
        GRUB 2 (GRand Unified Boot loader)
      Khi thay 畛i file c畉u h狸nh, GRUB t畛 畛ng nh畉n
      bi畉t, LILO th狸 ph畉i d湛ng l畛nh /sbin/lilo 畛 update
      c畉u h狸nh.
      Ngy nay, GRUB l boot loader m畉c 畛nh c畛a
      畉i a s畛 c叩c h畛 i畛u hnh Linux.
                                                 HH Linux   4
&
VC
         BB
                 Boot loader GRUB 2 (1)

          T畉p tin c畉u h狸nh c畛a GRUB 2: /boot/grub/grub.cfg
     menuentry "Ubuntu, Linux 2.6.31-14-generic" {
              recordfail=1
              if [ -n ${have_grubenv} ]; then save_env recordfail; fi
          set quiet=1
          insmod ext2
          set root=(hd0,10)
          search --no-floppy --fs-uuid --set 85ae91cc-38c5-4870-b3af-3565b3fc355e
          linux /boot/vmlinuz-2.6.31-14-generic root=UUID=85ae91cc-38c5-4870-b3af-3565b3fc355e ro
           quiet splash
          initrd /boot/initrd.img-2.6.31-14-generic
     }
     menuentry "Microsoft Windows XP Professional (on /dev/sda1)" {
          insmod ntfs
          set root=(hd0,1)
          search --no-floppy --fs-uuid --set cafc5f60fc5f463b
          drivemap -s (hd0) ${root}
          chainloader +1
                                                                                      HH Linux     5
     }
&
VC
     BB
             Boot loader GRUB 2 (2)

         C叩ch ph但n bi畛t partition trong boot loader
         GRUB kh叩c v畛i c叩ch th担ng th動畛ng c畛a Linux.
         GRUB kh担ng ph但n bi畛t IDE, v SCSI. 挑a c畛ng
         動畛c hi畛u l: hd%d.
         %d: l s畛 th畛 t畛 挑a c畛ng, b畉t 畉u t畛 0 畛 ch畛
         畉u ti棚n.
        VD: set root=(hd0,10) <=> 挑a c畛ng th畛 nh畉t,
         partition 10
         LILO c坦 c叩ch hi畛u th担ng th動畛ng nh動 Linux:
         hdXY, sdXY.

                                                HH Linux   6
&
VC           HH m畉c 畛nh trong menu boot c畛a GRUB 2 (1)
     BB


         T畉p tin /boot/grub/grub.cfg l t畉p tin 動畛c sinh t畛
         /etc/grub.d v /etc/default/grub => kh担ng n棚n ch畛nh s畛a
         Ch畛nh s畛a t畉p tin /etc/default/grub t畉i c叩c d嘆ng:
     
          GRUB_DEFAULT=0
         Thay s畛 0 b畉ng s畛 th畛 t畛 m畛c ch畛n trong menu boot.
         Gi畉 s畛 v畛i HH Ubuntu 9.10 (c坦 4 m畛c trong menu
         boot STT 0->3) v HH Windows (STT 4) => mu畛n
         boot m畉c 畛nh vo Windows => thay 0 b畉ng 4
         C滴ng c坦 th畛 thay b畉ng t畛 saved 畛 t畛 畛ng l動u l畉i
         m畛c ch畉n c畛a l畉n kh畛i 畛ng tr動畛c 坦
     
          GRUB_TIMEOUT=10
         Th畛i gian ch畛 c畛a menu boot


                                                        HH Linux   7
&
VC           HH m畉c 畛nh trong menu boot c畛a GRUB 2 (2)
     BB


        畛 bi畉t c叩c m畛c ch畛n trong menu boot => ch畉y
         l畛nh: grep menuentry /boot/grub/grub.cfg

        Sau khi ch畛nh s畛a t畉p tin /etc/default/grub => ch畉y
         l畛nh: sudo update-grub 畛 c畉p nh畉t th担ng tin t畛
         c叩c t畉p tin ri棚ng l畉 trong /etc/grub.d v t畉p tin
         v畛a m畛i ch畛nh /etc/default/grub vo trong t畉p
         tin /boot/grub/grub.cfg




                                                      HH Linux   8
&
VC
     BB
          T畉i nh但n v kh畛i t畉o RAM disk

      L畛nh t畉i nh但n v kh畛i t畉o RAM disk trong
      /etc/grub/grub.cfg:
      linux /boot/vmlinuz-2.6.31-14-generic
      root=UUID=85ae91cc-38c5-4870-b3af-3565b3fc355e ro
      quiet splash
      initrd /boot/initrd.img-2.6.31-14-generic
      L畛nh linux: t畉i nh但n Linux t畉i t畉p tin
      /boot/vmlinuz-2.6.31-14-generic
      L畛nh initrd: kh畛i t畉o RAM disk t畉i t畉p tin
      /boot/initrd.img-2.6.31-14-generic
      RAM disk l h畛 th畛ng t畉p tin ch畛a c叩c driver,
      module c畉n thi畉t cho nh但n
                                                   HH Linux   9
&
VC
     BB
          T畉i c叩c HH kh叩c

      L畛nh t畉i c叩c HH non*unix:
      insmod ntfs
      set root=(hd0,1)
      search --no-floppy --fs-uuid --set cafc5f60fc5f463b
      drivemap -s (hd0) ${root}
      chainloader +1
      L畛nh chainloader 畛 t畉i 1 sector vo RAM
      Chainloader +1 <=> chainloader 0+1: t畉i sector
      th畛 0



                                                            HH Linux   10
&
VC
     BB
          Ti畉n tr狸nh init v file inittab (1)

      Sau khi kernel 動畛c t畉i, kernel cho th畛c thi
      file /sbin/init v /sbin/init tr畛 thnh process 畉u
      ti棚n (c坦 PID=1).
      Ti畉n tr狸nh init s畉 t狸m 畛c file /etc/inittab 畛 quy畉t
      畛nh runlevel no s畉 動畛c boot. N畉u kh担ng c坦
      file /etc/inittab th狸 m畉c 畛nh runlevel 2 動畛c
      ch畉y
      V畛i runlevel 動畛c ch畛n, c叩c script trong th動
      m畛c /etc/rc#.d 動畛c th畛c thi 畛 kh畛i 畛ng c叩c
      d畛ch v畛 c畛a runlevel t動董ng 畛ng. C叩c script ny
      l c叩c li棚n k畉t l畉y t畛 /etc/init.d

                                                   HH Linux   11
&
VC
     BB
             Ti畉n tr狸nh init v file inittab (2)

         Runlevel: quy 畛nh c叩ch th畛c thao t叩c v畛i HH
         C叩c runlevel c畛a Linux:
           0: System halt
           1: Single user
           2: Full muti-user (default)
           3  5: Full muti-user
           6: System reboot
        L畛nh xem runlevel: runlevel (ho畉c who -r)
        L畛nh thay 畛i runlevel: telinit <runlevel> (ph畉i
         d湛ng super user)
           sudo telinit 0 <=> t畉t m叩y
           sudo telinit 6 <=> kh畛i 畛ng l畉i
                                                   HH Linux   12
&
VC
     BB
          Ti畉n tr狸nh init v file inittab (3)

      Thi畉t l畉p runlevel m畉c 畛nh cho h畛 th畛ng (kh叩c
      2) => t畉o t畉p tin /etc/inittab (v畛i c叩c distro c畛a
      Redhat t畉p tin ny c坦 s畉n)
      sudo gedit /etc/inittab
      Nh畉p d嘆ng sau:
      id:number:initdefault:
      thay number b畉ng runlevel mong mu畛n (kh担ng
      thay b畉ng 0 ho畉c b畉ng 6)




                                                  HH Linux   13
&
VC
     BB
             T畉t h畛 th畛ng (1)

     C坦 th畛 t畉t ho畉c kh畛i 畛ng l畉i h畛 th畛ng b畉ng l畛nh
      telinit 0 ho畉c telinit 6, nh動ng c叩c l畛nh ny s畉 t畉t h畛
      th畛ng ngay l畉p t畛c
      L畛nh t畉t m叩y: shutdown [tham s畛] <th畛i gian>
          Tham s畛:
             -r (restart)
             -h (halt)
             -c (cancel)
          Th畛i gian: s畛 ph炭t, ho畉c d湛ng now 畛 t畉t ngay
      l畉p t畛c
     T畉t m叩y vo l炭c 8 t畛i (pm): shutdown -h 20:00
     Sau 10 ph炭t th狸 t畉t m叩y: shutdown -h +10 (ho畉c
      shutdown -h 10)
                                                    HH Linux   14
&
VC
     BB
             T畉t h畛 th畛ng (2)

        Tham s畛 -c gi炭p h畛y l畛nh shutdown. Gi畉 s畛
         v畛a th畛c hi畛n l畛nh shutdown -h 5 nh動ng ch動a
         h畉t 5 ph炭t m mu畛n h畛y l畛nh  Ctrl C 畛 h畛y
         l畛nh ho畉c m畛 1 Terminal kh叩c v g探 l畛nh
         shutdown -c
         C叩c l畛nh t畉t m叩y kh叩c:
            halt
            reboot
            poweroff



                                               HH Linux   15

More Related Content

Linux07 khoidong&dongtat

  • 1. H畛 i畛U HNH LINUX TR畉N TH畛 NG畛C MAI QU TRNH KH畛I 畛NG V NG T畉T 1
  • 2. & VC BB C叩c b動畛c kh畛i 畛ng h畛 th畛ng Linux (1) HH Linux 2
  • 3. & VC BB C叩c b動畛c kh畛i 畛ng h畛 th畛ng Linux (2) B畉t m叩y, BIOS nh畉n di畛n c叩c device (qu叩 tr狸nh ny g畛i l Power On Self Test - POST) 畛c Master Boot Record 畛 t畉i boot loader (tr狸nh lilo ho畉c tr狸nh grub) vo RAM: cho ph辿p l畛a ch畛n h畛 i畛u hnh boot. T畉i nh但n v kh畛i t畉o RAM disk /sbin/init: ti畉n tr狸nh cha c畛a m畛i ti畉n tr狸nh. /etc/inittab: quy畉t 畛nh run level v kh畛i 畛ng c叩c d畛ch v畛 c畉n thi畉t c畛a run level 坦. HH Linux 3
  • 4. & VC BB Boot loader Boot loader hay c嘆n g畛i l boot manager cho ph辿p qu畉n l箪 nhi畛u h畛 i畛u hnh v ch畛n 1 h畛 i畛u hnh 畛 boot vo. Hai boot loader ph畛 bi畉n c畛a Linux: LILO (LInux LOader) GRUB 2 (GRand Unified Boot loader) Khi thay 畛i file c畉u h狸nh, GRUB t畛 畛ng nh畉n bi畉t, LILO th狸 ph畉i d湛ng l畛nh /sbin/lilo 畛 update c畉u h狸nh. Ngy nay, GRUB l boot loader m畉c 畛nh c畛a 畉i a s畛 c叩c h畛 i畛u hnh Linux. HH Linux 4
  • 5. & VC BB Boot loader GRUB 2 (1) T畉p tin c畉u h狸nh c畛a GRUB 2: /boot/grub/grub.cfg menuentry "Ubuntu, Linux 2.6.31-14-generic" { recordfail=1 if [ -n ${have_grubenv} ]; then save_env recordfail; fi set quiet=1 insmod ext2 set root=(hd0,10) search --no-floppy --fs-uuid --set 85ae91cc-38c5-4870-b3af-3565b3fc355e linux /boot/vmlinuz-2.6.31-14-generic root=UUID=85ae91cc-38c5-4870-b3af-3565b3fc355e ro quiet splash initrd /boot/initrd.img-2.6.31-14-generic } menuentry "Microsoft Windows XP Professional (on /dev/sda1)" { insmod ntfs set root=(hd0,1) search --no-floppy --fs-uuid --set cafc5f60fc5f463b drivemap -s (hd0) ${root} chainloader +1 HH Linux 5 }
  • 6. & VC BB Boot loader GRUB 2 (2) C叩ch ph但n bi畛t partition trong boot loader GRUB kh叩c v畛i c叩ch th担ng th動畛ng c畛a Linux. GRUB kh担ng ph但n bi畛t IDE, v SCSI. 挑a c畛ng 動畛c hi畛u l: hd%d. %d: l s畛 th畛 t畛 挑a c畛ng, b畉t 畉u t畛 0 畛 ch畛 畉u ti棚n. VD: set root=(hd0,10) <=> 挑a c畛ng th畛 nh畉t, partition 10 LILO c坦 c叩ch hi畛u th担ng th動畛ng nh動 Linux: hdXY, sdXY. HH Linux 6
  • 7. & VC HH m畉c 畛nh trong menu boot c畛a GRUB 2 (1) BB T畉p tin /boot/grub/grub.cfg l t畉p tin 動畛c sinh t畛 /etc/grub.d v /etc/default/grub => kh担ng n棚n ch畛nh s畛a Ch畛nh s畛a t畉p tin /etc/default/grub t畉i c叩c d嘆ng: GRUB_DEFAULT=0 Thay s畛 0 b畉ng s畛 th畛 t畛 m畛c ch畛n trong menu boot. Gi畉 s畛 v畛i HH Ubuntu 9.10 (c坦 4 m畛c trong menu boot STT 0->3) v HH Windows (STT 4) => mu畛n boot m畉c 畛nh vo Windows => thay 0 b畉ng 4 C滴ng c坦 th畛 thay b畉ng t畛 saved 畛 t畛 畛ng l動u l畉i m畛c ch畉n c畛a l畉n kh畛i 畛ng tr動畛c 坦 GRUB_TIMEOUT=10 Th畛i gian ch畛 c畛a menu boot HH Linux 7
  • 8. & VC HH m畉c 畛nh trong menu boot c畛a GRUB 2 (2) BB 畛 bi畉t c叩c m畛c ch畛n trong menu boot => ch畉y l畛nh: grep menuentry /boot/grub/grub.cfg Sau khi ch畛nh s畛a t畉p tin /etc/default/grub => ch畉y l畛nh: sudo update-grub 畛 c畉p nh畉t th担ng tin t畛 c叩c t畉p tin ri棚ng l畉 trong /etc/grub.d v t畉p tin v畛a m畛i ch畛nh /etc/default/grub vo trong t畉p tin /boot/grub/grub.cfg HH Linux 8
  • 9. & VC BB T畉i nh但n v kh畛i t畉o RAM disk L畛nh t畉i nh但n v kh畛i t畉o RAM disk trong /etc/grub/grub.cfg: linux /boot/vmlinuz-2.6.31-14-generic root=UUID=85ae91cc-38c5-4870-b3af-3565b3fc355e ro quiet splash initrd /boot/initrd.img-2.6.31-14-generic L畛nh linux: t畉i nh但n Linux t畉i t畉p tin /boot/vmlinuz-2.6.31-14-generic L畛nh initrd: kh畛i t畉o RAM disk t畉i t畉p tin /boot/initrd.img-2.6.31-14-generic RAM disk l h畛 th畛ng t畉p tin ch畛a c叩c driver, module c畉n thi畉t cho nh但n HH Linux 9
  • 10. & VC BB T畉i c叩c HH kh叩c L畛nh t畉i c叩c HH non*unix: insmod ntfs set root=(hd0,1) search --no-floppy --fs-uuid --set cafc5f60fc5f463b drivemap -s (hd0) ${root} chainloader +1 L畛nh chainloader 畛 t畉i 1 sector vo RAM Chainloader +1 <=> chainloader 0+1: t畉i sector th畛 0 HH Linux 10
  • 11. & VC BB Ti畉n tr狸nh init v file inittab (1) Sau khi kernel 動畛c t畉i, kernel cho th畛c thi file /sbin/init v /sbin/init tr畛 thnh process 畉u ti棚n (c坦 PID=1). Ti畉n tr狸nh init s畉 t狸m 畛c file /etc/inittab 畛 quy畉t 畛nh runlevel no s畉 動畛c boot. N畉u kh担ng c坦 file /etc/inittab th狸 m畉c 畛nh runlevel 2 動畛c ch畉y V畛i runlevel 動畛c ch畛n, c叩c script trong th動 m畛c /etc/rc#.d 動畛c th畛c thi 畛 kh畛i 畛ng c叩c d畛ch v畛 c畛a runlevel t動董ng 畛ng. C叩c script ny l c叩c li棚n k畉t l畉y t畛 /etc/init.d HH Linux 11
  • 12. & VC BB Ti畉n tr狸nh init v file inittab (2) Runlevel: quy 畛nh c叩ch th畛c thao t叩c v畛i HH C叩c runlevel c畛a Linux: 0: System halt 1: Single user 2: Full muti-user (default) 3 5: Full muti-user 6: System reboot L畛nh xem runlevel: runlevel (ho畉c who -r) L畛nh thay 畛i runlevel: telinit <runlevel> (ph畉i d湛ng super user) sudo telinit 0 <=> t畉t m叩y sudo telinit 6 <=> kh畛i 畛ng l畉i HH Linux 12
  • 13. & VC BB Ti畉n tr狸nh init v file inittab (3) Thi畉t l畉p runlevel m畉c 畛nh cho h畛 th畛ng (kh叩c 2) => t畉o t畉p tin /etc/inittab (v畛i c叩c distro c畛a Redhat t畉p tin ny c坦 s畉n) sudo gedit /etc/inittab Nh畉p d嘆ng sau: id:number:initdefault: thay number b畉ng runlevel mong mu畛n (kh担ng thay b畉ng 0 ho畉c b畉ng 6) HH Linux 13
  • 14. & VC BB T畉t h畛 th畛ng (1) C坦 th畛 t畉t ho畉c kh畛i 畛ng l畉i h畛 th畛ng b畉ng l畛nh telinit 0 ho畉c telinit 6, nh動ng c叩c l畛nh ny s畉 t畉t h畛 th畛ng ngay l畉p t畛c L畛nh t畉t m叩y: shutdown [tham s畛] <th畛i gian> Tham s畛: -r (restart) -h (halt) -c (cancel) Th畛i gian: s畛 ph炭t, ho畉c d湛ng now 畛 t畉t ngay l畉p t畛c T畉t m叩y vo l炭c 8 t畛i (pm): shutdown -h 20:00 Sau 10 ph炭t th狸 t畉t m叩y: shutdown -h +10 (ho畉c shutdown -h 10) HH Linux 14
  • 15. & VC BB T畉t h畛 th畛ng (2) Tham s畛 -c gi炭p h畛y l畛nh shutdown. Gi畉 s畛 v畛a th畛c hi畛n l畛nh shutdown -h 5 nh動ng ch動a h畉t 5 ph炭t m mu畛n h畛y l畛nh Ctrl C 畛 h畛y l畛nh ho畉c m畛 1 Terminal kh叩c v g探 l畛nh shutdown -c C叩c l畛nh t畉t m叩y kh叩c: halt reboot poweroff HH Linux 15