|  Linux 
            Tips | 
        
         
            | 
           
             LILOで複数のカーネルから1つを選択して起動するには 
            北浦訓行 
              2001/12/6 
           | 
        
      
       カーネルを再構築したり、新バージョンのカーネルをインストールする場合、再構築がうまくできていないとシステムが起動しなくなる可能性がある。これを防ぐには、起動時にこれまでのバージョンのカーネルと新しく構築したカーネルを選択できるようにすればいい。そうすれば、新しいカーネルが動作しなくても古いカーネルで従来どおりLinuxを起動することができる。
      
 具体的には、古いカーネルと新しいカーネルを用意して/etc/lilo.confに両方のエントリを作成しておく。古いカーネルのラベル名を「old」、新しいカーネルのラベル名を「linux」にしておけば、システム起動時に「LILO: 
        」と表示されたときに、「old」と入力して[Enter]キーを押せば古いカーネルが、「linux」と入力して[Enter]キーを押せば新しいカーネルが起動する。ここでは、Red 
        Hat Linux 7.1を例に、/etc/lilo.confの設定を紹介する。
       Red Hat Linux 7.1ではカーネル2.4.2-2が採用されているが、FTPサイトには2.4.3-12がアップロードされている。この2つのカーネルを使って起動を切り替えてみる。
       デフォルトの/etc/lilo.confは次のようになっている。
      
         
           boot=/dev/hda 
            map=/boot/map 
            install=/boot/boot.b 
            prompt 
            timeout=50 
            message=/boot/message.ja 
            linear 
            default=linux  
             
            image=/boot/vmlinuz-2.4.2-2 
                    label=linux 
                    initrd=/boot/initrd-2.4.2-2.img 
                    read-only 
                    root=/dev/hda5  | 
        
      
       これの「image=」の行から下をコピーして、次のように変更する。
      
         
           boot=/dev/hda 
            map=/boot/map 
            install=/boot/boot.b 
            prompt 
            timeout=50 
            message=/boot/message.ja 
            linear 
            default=linux  
             
            image=/boot/vmlinuz-2.4.2-2 
                    label=old ←ラベルを「old」に変更 
                    initrd=/boot/initrd-2.4.2-2.img 
                    read-only 
                    root=/dev/hda5  
             
            image=/boot/vmlinuz-2.4.3-12 ←新しいカーネル 
                    label=linux 
                    initrd=/boot/initrd-2.4.3-12.img ←SCSIを使用しない場合は不要 
                    read-only 
                    root=/dev/hda5 | 
        
      
       /etc/lilo.confの修正が終わったら、必ず/sbin/liloコマンドを実行する。
      
         
           # /sbin/lilo 
            Added old 
            Added linux * | 
        
      
       システムを再起動し、LILOの画面が表示されたところで[linux]を選択すれば新しいカーネルが、[old]を選択すれば古いカーネルが起動する。
      
         
            | 
        
         
          |  /etc/lilo.confで設定した2つのエントリ名が表示されている | 
        
      
      
      
      
|  Linux Squareフォーラム Linux Tipsカテゴリ別インデックス | 
 
	
		Linux & OSS 記事ランキング
		
		
			本日
			月間