製作linux的優盤(usb)啟動盤

2021-05-24 05:05:32 字數 3996 閱讀 9220

usb

# mkdir -p /mnt/initrd

# cd /tmp

# mkinitrd /tmp/initrd.gz 2.4.20-usb

2. 解壓initrd.img 檔案,修改啟動指令碼linuxrc

# gunzip initrd.gz

# mount -o loop /tmp/initrd /mnt/initrd

# cp /sbin/busybox /mnt/initrd/bin

# cd /mnt/initrd/bin

# ln -s busybox sleep

# vi /mnt/initrd/linuxrc

加入如下內容:

echo wait 3 seconds.....

/bin/sleep 3

3. 重新生成initrd.img 檔案

由於預設建立的initrd 檔案比較大( 為4mb) ,為了加快優盤的啟動,必須減小它。具體操作如下:

# mkdir -p /mnt/initrdusb

# cd /tmp

# dd if =/dev/zero of= /tmp/initrdusb bs=1m count=1

# mke2fs -m 0 initrdusb

# mount -o loop /tmp/initrdusb /mnt/initrdusb

# cp -a /mnt/initrd/* /mnt/initrdusb

# umount /mnt/initrd

# umount /mnt/initrdusb

# cd /tmp

# gzip -9 initrdusb

# cp initrdusb.gz /boot/initrd-2.4.20-usb.img

4. 測試編譯的核心是否正常啟動

測試編譯的核心是否正常啟動,以及在啟動過程中是否可看見優盤的相關資訊。

建立優盤啟動盤

1.將優盤分成兩個分割槽

留給linux 分割槽容量大小完全取決於安裝哪些系統維護工具,結果如下:

# modprobe usb-storage

# fdisk -l /dev/sda

disk /dev/sda: 16 heads, 63 sectors, 126 cylinders

units = cylinders of 1008 * 512 bytes

device boot start end blocks id system

/dev/sda1 1 102 51376+ 6 fat16

/dev/sda2 103 126 12096 83 linux

注意:如果需要使用優盤引導windows 98 ,扇區大小必須設定為63 個扇區,可以通過fdisk 的x 命令擴充套件修改heads 、sectors 和cylinders 引數。

2. 建立與生成ext2 分割槽

# mke2fs -m 0 /dev/sda2

# mkdir -p /mnt/sda2

# mount /dev/sda2 /mnt/sda2

# cd /mnt/sda2

3. 建立boot 目錄

將編譯好的核心與initrd-2.4.20-usb.img 檔案拷貝到boot 目錄、編譯好的模組拷貝到lib/modules 目錄, 以及將/boot/grub 的檔案拷貝到boot 目錄, 編輯boot/grub/menu.lst 檔案, 內容如下:

timeout 10

color 0x17 0x70

default 0

title windows 98

rootnoverify (hd0,0)

makeactive

chainloader +1

title gnu/linux redhat 8.0 (2.4.20-usb)

root (hd0,1)

kernel /boot/vmlinuz-2.4.20-usb ro root=/dev/sda2

initrd /boot/initrd-2.4.20-usb.img

安裝grub, 具體操作如下:

grub> root (hd1,1)

grub> setup (hd1)

4. 建立bin 目錄

根據自工作的需要拷貝系統維護工具,如insmod 、fsck 和mkdosfs 等實用程式。一定要注意使用ldd 命令檢查那些共享庫檔案, 這些檔案需要按照原來的路徑拷貝到lib 目錄。 由於受到磁碟空間的限制, 使用busybox 命令代替一些常見的linux 命令,主要原因就是busybox 檔案非常小,並且是靜態鏈結的,包括許多常見的linux 命令(如cat 、init 、ifconig 、route )用ln -s busybox 建立這些檔案的符號聯接。可以根據個人需要重新編譯busybox ,包括vi 等命令,也可以使用小巧的e3 代替vi 。

另外,如果使用bash ,還必須編輯與裁減/etc/termcap 及如下檔案:

/bin/bash

/etc/termcap

/usr/share/terminfo/l/linux

/usr/share/terminfo/k/klone+acs

/usr/share/terminfo/k/klone+color

/usr/share/terminfo/k/klone+sgr

5. 建立dev 目錄

使用cp -a 命令拷貝常用的裝置檔案, 包括console 、tty1 、tty2 、tty3sda 、sda1 、sda2 、hda 、hdb 和hda1 等裝置檔案。

6. 編輯etc/init.d/rcs

內容如下:

#!/bin/sh

path=/sbin:/bin

export path

mount -n -t proc none /proc

umount /initrd

mount -n -o remount,rw /

mount -n -o remount,rw -t proc none /proc

ifconfig lo 127.0.0.1

7. 編輯etc/fstab 檔案

內容如下:

/dev/sda2 / ext2 defaults 1 1

none /proc proc defaults 0 0

應用舉例

舉乙個傳送檔案的例子。在一台正常工作的linux 機器a(ip=192.168.100.5) 上執行:

$ tar cf - win98 | nc -l -p 5555

注意:可以在機器b 上使用優盤啟動機器,telnet 登陸到機器a 上執行以上命令。

在機器b 上使用優盤啟動執行:

# mount -t vfat -o codepage=938,iocharset=cp936 /dev/hda5 /mnt/2dos

# cd /mnt/2dos

# modprobe eepro00

# ifconfig eth0 192.168.1.10

# route add default gw 192.168.1.1

# ping 192.168.10.5

# nc 192.168.10.5 5555 | tar xf -

如果這時使用format /s 命令無法建立優盤windows 98 啟動盤,可以採用變通的方式,具體操作如下:

# mkdosfs -f 16 /dev/sda1

# xxd -c 16 /dev/sda1 | less

這時記錄下boot record 的32 ~35 位元組內容(本例為60 91 01 00 ,這4 個位元組記錄了fat 分割槽總的扇區數量),再使用朗科隨盤提供的製作引導盤的工具製作windows 98 啟動盤,然後使用linux 下bvi 或者能夠編輯二進位制檔案的工具修改boot record 的32 ~35 位元組為原來的內容。這樣,就能夠實現名副其實的三啟動方式(windows 雙啟動+linux 啟動)。 還有問題請來論壇尋求幫助:[url]http://www.xxlinux.com/bbs/[/url]

製作Linux的優盤(usb)啟動盤

usb快閃儲存器儲存裝置 優盤 一般只有鑰匙扣大小,儲存容量多為32mb和64mb。由於具有輕巧精緻 使用方便 便於攜帶等優點,特別是對比軟盤具有 容量較大 安全可靠 讀取速度較快等特性,越來越多人使用這種裝置取代了軟碟機與軟盤,在pc之間交換檔案。目前新出的主機板bios都支援usb軟盤和硬碟 的...

USB啟動盤製作教程

一路下一步吧 ok,啟動工具,首先是格式化u 盤使用fat32 格式化u盤,要求確認,確認即可 格式化完成後的乙個報告 關閉該嚮導 進入下一步準備工作 選擇碟符,開始製作 開始拷貝檔案,拷貝檔案後即完成 ok,退出工具 ok,重啟電腦 進入bios 的啟動項選擇,我們可以看到第三項是usb 啟動盤啦...

Rufus製作USB啟動盤

其實 rufus 的製作原理是,將u盤分成了兩個區,乙個是 fat32 分割槽,裡面用於存放 uefi 系統啟動檔案,乙個分割槽是 ntfs 格式,用於存放完整的系統映象檔案,這樣一來就魚和熊掌可兼得了。既然知道了 rufus 的製作原理,我們不借助工具也能完成以上的步驟,1 手動給 u 盤分割槽,...