[转] 制作 ubuntu 的 U盘启动盘的方法
制成 ubuntu 的 U盘启动盘的方法, 首先我们要有一台Linux和镜像光盘,并且系统安装有 dd 命令(软件)
跑到 /dev 目录下,查看新插入的 U 盘叫什么名字, 由于一般来说硬盘已经占用了 sda , 那么U 盘一般是从 sdb 开始的 (直接用 sdb ,那些像 sdb1 , sdb2 后跟数字的设备名,指的是该U盘下已经创建了哪些分区,是逻辑的概念,不是物理设备)
还有一个辅助的命令,叫做 lsusb , 另一个叫做 dmesg , 或许会有帮助,我不确定。
现在知道 .iso 镜像的位置, 也知道 U盘叫什么名字了,下面就要执行 dd 命令将镜像直接克隆进 U 盘里了。
dd if=xx.iso of=/dev/sdb bs=1M
上面 if 参数要指出 镜像的全路径名, of 参数指出 U盘设备名, bs指定传输单位,默认用1兆即可。
`
为了让这个优盘还可以放其他东西, 我们给他创建多一个Windows下可以访问的分区(假设设备号是sdb)
先可以查看一下 已经弄好的分区,应该有两个,其中有一个是体量很小的 efi 分区
执行命令: fdisk -l /dev/sdb ,
[删除多余的efi分区] 首先执行 fdisk /dev/sdb 然后执行内部命令 p ,查看分区情况
分区2是efi分区,并且很小,我认为这个没用,把它删掉也可以继续启动,用内部 d命令,选2删掉(sdb2)
使用内部命令 p 可以重新查看分区情况(p即print)
执行完动作后,记得使用 w 命令保存,然后才退出。
执行命令: fdisk /dev/sdb
WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.
用m指令可以得到帮助:
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
根据上述提示,使用n指令创建新的分区: Command (m for help): n
Partition type: (我选了primary)
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):(也就是默认值)
Using default response p
Partition number (1-4, default 2):(同样用了默认值2)
Using default value 3
First sector (2048-30719999, default 2048):(填写开始簇的时候,注意不要和之前的分区重合)
Using default value 1300000
Last sector, +sectors or +size{K,M,G} (1300000-30719999, default 30719999): (直接用了剩下的全部空间)
Using default value 30719999
Command (m for help): p (p指令用来查看整个U盘分区信息)
Disk /dev/sdb: 15.7 GB, 15728640000 bytes
255 heads, 63 sectors/track, 1912 cylinders, total 30720000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x672847fd
Device Boot Start End Blocks Id System
/dev/sdb1 * 0 1294335 647168 0 Empty
/dev/sdb2 1300000 30719999 14710000 83 Linux
Partition table entries are not in disk order
执行完动作后,记得使用 w 命令保存,然后才退出。
[最后的最后],使用 mkfs.ntfs --fast /dev/sdb2 的方式进行 NTFS分区格式化操作, 创建好心分区后,用mount 指令测试之。
外加几个搜来的小技巧:
linux用grep在文件中查找字符串并显示字符串在文件中的行号
grep -rn "hello,world!" ./
./ : 表示路径为当前目录.
-r 是递归查找
-n 是显示行号
《使用dd制作文件夹的img》
du -sh originfile //先看看需要制作的源文件夹大小,假如15M
dd if=/dev/zero of=new_img.img bs=1024 count=20000 //生成20M的文件
mkfs.ext3 new_img.img
mount new_img.img /mnt/new
cp originfile /mnt/new -R
umount /mnt/new
// new_img.img文件里面就包括了originfile
用的时候这样加载: mount -o loop,ro,user,noatime ./new_img.img /tmp/mb