萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> 在USB磁盤上制作Linux的GRUB引導的方法

在USB磁盤上制作Linux的GRUB引導的方法

   GNU GRUB(GRand Unified Bootloader簡稱“GRUB”)是一個來自GNU項目的多操作系統啟動程序。GRUB是多啟動規范的實現,它允許用戶可以在計算機內同時擁有多個操作系統,並在計算機啟動時選擇希望運行的操作系統。GRUB可用於選擇操作系統分區上的不同內核,也可用於向這些內核傳遞啟動參數。

  由硬盤啟動時,BIOS通常是轉向第一塊硬盤的第一個扇區,即主引導記錄(MBR)。

  裝載GRUB和操作系統的過程,包括以下幾個操作步驟:

  裝載記錄——基本引導裝載程序所做的唯一的事情就是裝載第二引導裝載程序。

  裝載Grub——這第二引導裝載程序實際上是引出更高級的功能,以允許用戶裝載一個特定的操作系統。

  裝載系統——如linux內核。GRUB把機器的控制權移交給操作系統。

  不同的是,微軟操作系統都是使用一種稱為鏈式裝載的引導方法來啟動的,主引導記錄僅僅是簡單地指向操作系統所在分區的第一個扇區。

  許多發行版本都支持usb啟動,那我們自己可不可以作一個usb啟動的工具盤呢,答案是肯定的!

  首先作以下假定

  usb 設備是 /dev/sdb

  usb盤掛載點 /mnt/usbdisk

  下面我們就簡單說下 grub 引導器安裝到usb盤上的步驟

  確定usb 盤的位置, 一般為 /dev/sdb

  代碼如下:

  [root@localhost]# fdisk -l

  使用以下命令清除mbr引導字節

  代碼如下:

  [root@localhost]# dd if=/dev/zero of=/dev/sdb bs=512 count=1

  使用 syslinux 中的 mbr.bin 加載到usb盤上

  代碼如下:

  [root@localhost]# locate mbr.bin

  [root@localhost]# cat /somepath/share/syslinux/mbr.bin > /dev/sdb

  使用fdisk對usb盤進行分區, 類似結果如下 :

  代碼如下:

  Device Boot Start End Blocks Id System

  /dev/sdb1 * 1 1018 993537+ 83 Linux

  在分區上創建ext3文件系統,並且掛在usb盤

  代碼如下:

  [root@localhost]# mkfs.ext3 /dev/sdb1

  [root@localhost]# mkdir -p /mnt/usbdisk

  [root@localhost]# mount /dev/sdb1 /mnt/usbdisk

  安裝GRUB boot loader到usb盤上

  代碼如下:

  [root@localhost]# grub-install --no-floppy --root-directory=/mnt/usbdisk /dev/sdb

  創建grub.conf配置文件

  代碼如下:

  [root@localhost]#

  cat > /mnt/usbdisk/boot/grub/grub.conf << EOF

  title Usb linux

  root (hd0,0)

  kernel /boot/kernel-xxxx root=/dev/sda1 ro

  initrd /boot/initrd-xxxx.img

  EOF

  將kernel和initrd 拷貝到usb盤上,重啟系統,就可以引導系統了.

copyright © 萬盛學電腦網 all rights reserved