linux自製
1. 如何製作一個u盤啟動的linux
你好,製作用U盤啟動的Linux系統的步驟如下:
一、對U盤進行處理
1.分區:(插上U盤)
# fdisk /dev/sdb
d Enter 刪除原有分區
n Enter 新建一個主分區
w Enter 保存設置
# partprobe /dev/sdb 刷新U盤
2.設定U盤分區為活動分區
# fdisk /dev/sdb
a Enter 設定為活動分區
1 Enter 選擇分區
3.對硬碟分區進行格式化,格式化成ext3格式
# mkfs.ext3 /dev/sdb1
二、裝filesystem包 (目的:生成根下的root,usr,var 。。.等目錄)
1.配置好yum
2.載入U盤到/net下
# mount /dev/sdb1 /net
3.安裝
# yum -y install --installrot=/net filesystem
安裝完成後,可查看/net下生成了多個目錄
三、載入系統啟動項
1.# cp /boot/vmlinuz-2.6.18-128.el5 /net/boot/
2.生成initrd.img `uname -r`為取系統版本號
# mkinitrd --with=usb-storage /net/boot/initrd-usb.img `uname -r`
3.查看/net/boot/下是否有vmlinuz和initrd
四、製作boot loader(grub)
1.# yum -y install --installroot=/net grub
2.grub.conf不成自動生成,要手工創建
# cp /boot/grub/grub.conf /net/boot/grub/grub.conf 並作修改
# cat /net/boot/grub.conf
default = 0
timeout = 5
title redhat-usb-linux
root(hd0,0)
kernel /boot/vmlinuz-2.6.18-128.el5 ro root=/dev/sdb1 init=/dev/bash
initrd /boot/initrd-usb.img
此處填寫的內容要與/net/boot/grub/下的文件名一致
五、安裝命令庫文件
# yum -y install --installroot=/net bash coreutils pam setup vim-enhanced vim-minimal util-
linux net-tools SysVinit passwd shadow-utils authconfig
可通過rpm -qf /bin/mount 查看包名
此時chroot /net下可使用剛才安裝的命令了
六、創建磁碟分區
# mknod /net/dev/sdb b 8 16
# mknod /net/dev/sdb1 b 8 17
b表示塊設備,8為主設備號,16、17為次設備號
--------------------------
| 有關設備號的解釋:
| 1.對於一塊SCSI/SATA硬碟(格式為sd*),主設備號為8,
| 第一塊硬碟的次設備號為0-15,第二塊硬碟的次設備號為16-31,依次類推。因為對於硬碟來說,主分區最多為4個,可以3個主分區1個擴展分區,擴展分
| 區仍然可以再分區,但是分區的總數最多為16個,所以每一塊硬碟的次設備號為16個(0-15,16-31)。
| 2.對於一塊IDE硬碟(格式為hd*),主設備號為3,次設 備號第一塊為0-63,第二塊為64-127。
| 3.# ls -l /dev/sd*
| brw-r----- 1 root disk 8, 0 10-16 14:53 /dev/sda
| brw-r----- 1 root disk 8, 1 10-16 14:54 /dev/sda1
| brw-r----- 1 root disk 8, 2 10-16 14:53 /dev/sda2
| brw-r----- 1 root disk 8, 3 10-16 14:54 /dev/sda3
| brw-r----- 1 root disk 8, 16 10-16 15:50 /dev/sdb
| brw-r----- 1 root disk 8, 17 10-16 15:50 /dev/sdb1
| brw-r----- 1 root disk 8, 32 10-16 15:50 /dev/sdc
| brw-r----- 1 root disk 8, 36 10-16 15:50 /dev/sdc4
| 以上是我一台主機上插了1個硬碟,兩個U盤的顯示情況,我們可以看到設備號的顯示情況。
| 4.在linux中一切皆文件,硬體也是通過文件體現出來的,所有硬體設備都在/dev/有所顯示。
|5.更具體的設備號研究可以查看下面的文件。
| # yum install kernel-doc
| # /usr/share/doc/kernel-doc-2.6.18/Documentation/devices.txt
---------------------------
七、創建掛載
1.創建mtab
# cat /net/etc/mtab
/dev/sdb1 / ext3 rw 0 0
2.創建fstab
# cat /net/etc/fstab
/dev/sdb1 / ext3 default 1 1
八、安裝grub
# chroot /net
# grub-install /dev/sdb1
註:
1.如果創建硬碟分區的時候沒有配置正確,在第八步會報錯:
the file /boot/grub/stage1 not read correctly
2.在用U盤啟動後,進入到U盤中的系統,此時我們可以用已經
安裝過的命令集,但是此時的文件系統是只讀的,我們不能vim,
mount等的操作,此時必須用下面這個命令,進行重新讀寫掛載:
# mount -o remount,rw /
重掛載後,就可以了。
至此,U盤Linux系統啟動盤的製作就完成了,通過以上方法,用戶就可以用U盤來啟動Linux系統,再也不用擔心誤刪文件進不來系統,也不用這么麻煩拆下硬碟進行拷貝。
2. 在Linux系統下用dd命令製作ISO鏡像U盤啟動盤
1、首先在 Linux 系統中打開終端,確認 U 盤路徑:
執行完這條命令後會出現若干個盤的信息,其中識別U盤的一個比較直觀的方式是看容量大小。假設U盤的路徑是 \dev\sdb 。
2、umount U 盤:
3、格式化U盤:
如果U盤是空的可能格式化的過程會比較快,否則可能會比較慢。
4、使用 dd 命令製作系統盤:
該命令一般需要十分鍾左右可以完成。
3. linux下製作win的啟動盤
Linux上製作Windows啟動u盤插入准備好的u盤,並查看u盤的設備名稱
~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb 3.2G 3.2G 0 100% /run/media/alfer/u8
注意:如果看到u盤(/run/media/alfer/u8)掛載在/dev/sdb設備下,則需要先將其卸載;如果此處看不到usb 設備,則要用fdisk 工具查看。設置usb設備/dev/sdb的 /dev/sdb1為啟動分區cfdisk /dev/sdb 或 fdisk /dev/sdb (partition type 7, and bootable flag)u盤分區格式化格式化分區sdb1為ntfs格式:mkfs.ntfs -f /dev/sdb1利用ms-sys寫入mbr信息到u盤以引導win7:ms-sys -7 /dev/sdb其中的-7參數指Win7 MBR,sdX指的是U盤對應的盤符。將ISO鏡像文件寫入到u盤:
mount -o loop win7.iso /mnt/iso
mount /dev/sdb1 /mnt/usb
cp -r /mnt/iso/* /mnt/usb/
sync
監控寫入狀態:watch -n1 iostat從u盤啟動安裝Windows系統現在你已經可以從u盤啟動來安裝Windows了。總結Linux上製作 Windows的啟動盤整體流程應該是:u盤建立啟動分區 -》u盤分區格式化 -》寫入引導程序 -》寫入鏡像文件 -》 製作完成。在Centos系統上製作Windows啟動盤的時候,我嘗試了幾種不同的方法,皆是可以製作成功的:寫入u盤啟動引導Win7安裝方式方法一:如文中,利用ms-sys工具寫入,ms-sys -7 /dev/sdb;方法二:利用lilo工具,sudo lilo -M /dev/sdb mbr;方法三:利用syslinux工具,sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb;鏡像文件寫入u盤方法一:掛載 iso 鏡像後,復制到u盤;方法二:dd命令寫入iso鏡像文件到u盤的啟動分區
sudo dd if=/home/peter/Downloads/WindowsTechnicalPreview-x64-ZH-CN.iso of=/dev/sdb1 bs=4M iflag=direct
4. 製作linux系統U盤並使用U盤安裝CentOS7.6系統
一、製作linux啟動盤
使用光碟刻錄軟體將系統鏡像刻錄到U盤後使用U盤安裝系統。
1、 准備
1個大於8GU盤(最小1G以上,最好8G)
官方系統鏡像(CentOS7-1810)
光碟刻錄軟體(UltraISO)
2、 製作linux系統優盤
二、使用U盤安裝CentOS7.6系統
1、 插入剛剛製作的系統U盤進入BIOS,更改U盤為第一啟動項。
2、 進入centos安裝界面,按TAB鍵進入配置編輯(根據提示,uefi是按e鍵)
3、 進入圖形界面如果不出現報錯就是成功了,可以正常安裝操作系統了。
安裝之後重啟後關機移除U盤在開機即可正常使用。
5. linux下製作ISO文件
linux下製作ISO文件有幾種方法,分別如下:
1,從光碟中製作ISO文件
cp /dev/cdrom 路徑/ISO 文件名
例子:cp /dev/cdrom /opt/mycd.iso,也可以用 dd if=/dev/cdrom of=/opt/mycd.iso
2,使用目錄文件製作ISO文件
mkisofs -r -o 路徑/ISO 文件名 目錄文件路徑
例子:mkisofs -r -o /opt/mycd.iso /home
製作完ISO文件後,如何掛載呢?
mount -o loop ISO文件名 掛載點路徑
例子:mount -o loop /opt/mycd.iso /mnt/cdrom
轉自 https://blog.51cto.com/13587169/2095385
6. Linux下製作bin可執行文件
一 Linux安裝文件
Linux常見的安裝為tar,zip,gz,rpm,deb,bin等。我們可以簡單的分為三類,
第一:打包或壓縮文件tar,zip,gz等,一般解壓後即可,或者解壓後運行sh文件;
第二:對應的有管理工具的deb,rpm等,通常的這類安裝文件可以通過第三方的命令行或UI來簡單的安裝,例如Ubuntu中的apt來安裝deb,Redhat中的yum來安裝rpm;
第三:像.bin類,其實就是把sh和zip打包為bin,或把sh和rpm打包為bin等,當在命令行運行bin安裝文件時,其實就是bin裡面的sh來解壓bin中的zip或安裝rpm的過程;
.bin安裝文件可以認為是sh文件和zip或rpm等其他安裝文件的打包形式。如下圖:
shell腳本:
腳本很簡單,關鍵在於sed那一行,大概意思是匹配exit 0,如果匹配到了,把它後面的列印出來。
然後將安裝包打包成 install.tar.gz,如:
最終將上述兩個文件打包成bin文件,並賦予執行許可權
執行bin文件和執行shell腳本一樣,直接運行
Tip:提取文件也可以使用tail來分割文件的,這個有時候可能會失敗(網上很多人都說tail方法可能有各種問題,我測試沒碰見)。建議使用sed方式提取文件