构建一个Linux最小系统,能从U盘启动Linux,把Linux原码编译后放入U盘,并可从U盘启
这个是由于你的机器比较新,默认硬盘分区类型是gpt,这种新技术,可能win7还不支持,用pe里面的分区工具将硬盘分区类型换成mbr就好。
gpt分区转换成mbr分区的步骤如下:
1、开机引导进入启动盘PE系统,也就是用制作的USB启动盘引导电脑进入PE系统。如下图,运行桌面的分区工具,点中硬盘名称,如下图红圈处,表示分区表类型为GPT。
2、删除硬盘的所有分区,并变为灰色,如下图,点中磁盘,点击“硬盘”菜单,依次单击“转换分区表类型为MBR格式”。
注意:删除硬盘的所有分区会清除硬盘上的所有数据,如果觉得数据文件很重要,请先备份好数据后再试。
3、点击“确定”后,会弹出一个提示框,会告诉你一些信息,如下图,点击“确定”。
4、接下来,等待电脑操作完成,如下图所示,硬盘分区表类型已成功改为MBR,接着就新建分区安装系统了。
重要:新建主分区2个:1个分区100MB(NTFS)用于存放系统引导文件,系统安装好后,该盘符会自动隐藏,另1一个分区为系统安装分区(NTFS),大小自定义,为C盘。
其它分区均为逻辑分区为D、E、F盘(创建逻辑分区前,要创建一个扩展分区作垫底)
扩展资料:
MBR分区
传统的分区方案(称为MBR分区方案)是将分区信息保存到磁盘的第一个扇区(MBR扇区)中的64个字节中,每个分区项占用16个字节,这16个字节中存有活动状态标志、文件系统标识、起止柱面号、磁头号、扇区号、隐含扇区数目(4个字节)、分区总扇区数目(4个字节)等内容。
由于MBR扇区只有64个字节用于分区表,所以只能记录4个分区的信息。这就是硬盘主分区数目不能超过4个的原因。后来为了支持更多的分区,引入了扩展分区及逻辑分区的概念。但每个分区项仍用16个字节存储。
主分区数目不能超过4个的限制,很多时候,4个主分区并不能满足需要。另外最关键的是MBR分区方案无法支持超过2TB容量的磁盘。
分区类型
A、如果需要将行映射到基于列值范围的分区时,就使用范围分区方法--条件是数据可以被划分成逻辑范围;当数据在整个范围内能被均等地划分时性能最好,明显不能均分时须使用其他分区方式。
B、如果数据不那么容易进行范围分区,但为了性能和管理的原因又想分区时,就使用散列分区方法--散列分区方法提供了在指定数量的分区中均等地划分数据的方法。基于分区键的散列值将行映射到分区中。
C、当需要明确地控制如何将行映射到分区时,就使用列表分区方法--每个分区的描述中为该分区列制定一列离散值。是特意为例三支的模块化数据划分而设计的,可以将无序的和不相关的数据集进行分组和组织到一起。不支持多列分区。
D、组合分区方法是在分区中使用范围分区方法分区数据,而在子分区中使用散列分区方法--适合于历史数据和条块数据两者,改善了范围分区及其数据防止的管理型,并提供了散列分区的秉性机制的优点;实际数据存储在自分区,分区只是个逻辑属性
教你如何制作PE系统启动盘,如何使用启动U盘进入PE系统
再在你的windows电脑上安装utlraiso,版本必须9.12及以上。
1、 运行UltraISO
2、 在主菜单选“文件”-〉“打开”,出现“打开ISO文件对话框”
3、 选择镜像文件(ubuntu-8.04-desktop-i386.iso)点击“打开”按钮
4、 在主菜单选“启动光盘”-〉“写入硬盘映像”,出现“写入硬盘映像”对话框
5、 出现上面界面的时候,在“硬盘驱动器”选项里,要选择U盘的盘符,在“写入方式”里,选择USB-HDD+或USB-ZIP+模式,并点击“便捷启动”按钮——写入新的硬盘主引导记录——USB-HDD+或USB-ZIP+。
6、 再点击写入,开始ISO文件写入到U盘。
7、 制作完成后拔出U盘
8、 设置电脑启动为usb-hdd或usb-zip启动即可。
另外,站长团上有产品团购,便宜有保证
很多关于这个的文档,你参考下,步骤很详细http://wenku.baidu.com/view/2ba65d6baf1ffc4ffe47ac9a.html
我以Linux-2.4.20为例说明。编译时一定要注意不要编译不必要的模块,如声卡驱动等驱动模块,使编译的内核尽可能小一些。由于要支持优盘启动,必须将SCSI设备、usbcore、usb-storage、Loopback device support、RAM disk support和initrd等编译到内核中。
许多人会问,usb-storage模块已经包括在内核了为什么还要建立initrd.img文件?这是由于优盘的初始化过程比执行/sbin/init慢,导致内核已经启动完成了,优盘还没有完成初始化工作,因此根文件系统没有加载,这时执行/sbin/init命令肯定不成功。通过建立initrd.img文件,在启动内核时加载initrd.img文件到内存中,等待3秒使优盘完成初始化工作,再执行/sbin/init指令。具体操作步骤如下。
1.建立initrd.img文件
# 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)
根据自工作的需要拷贝系统维护工具,如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启动)。[color=orangered][color=orangered]
菜鸟什么都不懂就弄这个???
这个除非花钱请人给你做一个,不然你自己做很难。
其实也不难,不过就是别人把全套命令发给你,你照做一遍而已(其实就是别人做……)。
=.= 用对你来说最简单的办法,把电脑硬盘拔了,然后放系统盘装系统,硬件选择u盘,使用最小话安装,ok完事。。。
真正的小系统需要通过lfs自己构建,这个复杂程度。。。楼主还是算了把
也就是几兆
linux创建一个文件有哪些方式
您好,1、首先说一下touch 创建文件的命令,touch可以用于创建二进制文件,用法非常简单。用法:touch+文件名,touch与文件名之间一定要有空格。图中先用之前分享过的命令来查看一下\/目录下面有多少文件以及文件的名字;2、创建一个文件名字为abc的二进制文件,那么在linux里公式就应该写成 #touch abc ...
linux怎么新建一个文件夹呢?
1、首先查看当前的路径,输入pwd,回车。2、如果当前目录不是root的用户目录,则需要进入root用户目录,输入:cd \/root,回车,进入root用户目录。3、新建目录new,输入命令:mkdir new,回车,即可成功创建new目录。4、查看当前目录下的所有文件,输入命令:ll,回车。可以看到new目录已经存在。
linux如何新建一个目录
1、首先打开xshell软件连接上linux服务器,如下图所示。2、使用【mkdir 目录名】创建目录并cd到目录下,如下图所示。3、然后输入指令【touch 文件名】创建一个空文件,如下图所示。4、接着使用【vim 文件名】创建一个空文件并打开进入编辑,如下图所示。5、最后输入【ls -l】查看当前目录下的文件...
Jacob使用Linux一种新的学习方式jacoblinux
Jacob最近决定尝试使用Linux,他对这种新的操作系统兴趣浓厚。在Jacob开始应用Linux之前,他首先要做的就是搭建一个环境,安装Linux并将其设置为他熟悉的程度,这是正确的使用Linux的基本步骤。为了搭建Jacob所需的环境,他最初选择了VirtualBox,一款专业的用于搭建任何虚拟系统的虚拟化软件。Jacob从控制台上...
linux中怎样新建一个文件,并为该文件赋予权限?
修改linux文件权限命令:chmod $ ls -l rodine.org. tgz -rw-r--r-- 1 root root 483997 Ju1 l5 17:3l rodine.org. tgz 横线代表空许可。r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录...
linux下如何创建一个空的文件夹
进入linux系统并终端,输入命令”cd/“,然后按回车键来到根目录。根目录中,输入”sudomkdir文件夹的名字“,然后按回车键。输入管理员密码后,按回车键,文件夹就创建成功了。创建文件夹mkdir-p文件夹名p确保目录名称存在,不存在的就建一个。
Linux一站式深入编程学习之旅linux一站式编程学习
网络编程、多线程编程和linux运维等内容,它们可以满足您的要求,有助于您掌握Linux的丰富编程知识。总的来说,Linux的学习是一个漫长而艰难的过程,但它有助于提高技术能力,成为一个优秀的程序员。如果您想踏上一个征程,从Linux的编程中获取最大的收获,那就开始Linux一站式深入编程学习之旅吧!
Linux系统的发展分支linux的分支
Linux系统是一款数量众多、功能强大的操作系统,在全球范围内广受欢迎。随着技术的发展和用户对Linux系统的需求不断增加,Linux系统也发展出了几个不同的分支。首先,SUSE Linux是一个比较完善的Linux系统,其分支包括SUSE Linux Enterprise Server(SLES),openSUSE和SUSE Linux Professional(SLP)等。SLES是...
一文带你学会Linux下安装Docker
0 的用户 您可以通过修改daemon配置文件\/etc\/docker\/daemon.json来使用加速器 请在该配置文件中加入(没有该文件的话,请先建一个): 新版的 Docker 使用 \/etc\/docker\/daemon.json(Linux) 或者 %programdata%\\docker\\config\\daemon.json(Windows) 来配置 Daemon。执行以下命令来删除 Docker CE:
Linux多线程客户端简介多线程客户端linux
相关问题拓展阅读:在Linux系统中使用Shell实现多线程运行任务(多任务并发执行)在Linux系统中使用Shell实现多线程运行任务(多任务并发执行)最近,有一批任务需要把两批的fastq合并到一起并压缩成一个fastq文件才能继续往下做,由于存储空间有限又不能直接全部跑上,只能按样本逐个分批跑。众所周知,一般...
益点氢溴: 为了方便和简化嵌入式Linux开发过程中的调试过程,主要研究了如何使用Busybox构建出基本的嵌入式Linux根文件系统,包括Busybox的配置、编译和安装.在此基础上,进一步构建出基于NFS的嵌入式Linux根文件系统,并给出了启动脚本和...
翔安区18725182069: 我想用U盘代替光驱安装各种linux系统 - ?
益点氢溴: 1.在USB口上插入好U盘 2.启用主板对USB的支持.如果不懂的话就设置BIOS为默认值,再设置BIOS的第一引导为CD-ROM,保存并重启 3.用98光盘引导进入DOS,进入每个盘除了C盘以外的看一下U盘被分配为什么盘符并记住,因为下面是有用的.一般最小的就是它了.因为这时的U盘不是分在最后一个盘,而是除了C盘以外的随机分配的一个盘符
翔安区18725182069: 怎么制作最小ubuntu系统 - ?
益点氢溴: 可以的.但是需要注意的是:1、需要至少分给他二个分区,一个用作交换分区,大概2G左右;另一个做跟目录分区/,这个要大一些,起码20G.这个是主要的分区.2、ubuntu安装好后可以挂载windows的磁盘.具体步骤如下:== A. 准备工作 == 一、所需硬件 需要 Banana PI 开发板一块;一台正常运行 Linux 系统的电脑(Linux 虚拟机也行);容量大于 1GB SD 卡,或者 TF 配卡套,以及相应读卡设备;另准备一张 4GB SD 卡,用于烧写现有 .img 以启动 BPI 作辅助操作;
翔安区18725182069: 如何用ultraiso制作u盘linux系统安装盘 - ?
益点氢溴: U盘启动盘制作步骤:1、用U启动U盘启动盘制作工具做一个启动U盘;2、下载一个GHOST系统镜像;3、BIOS中设置从U盘启动,把之前下的镜像放到U盘中;4、U盘启动后,在启动界面出选择“GHOST手动安装”类似意思的项,进去后选择安装源为你放在U盘里的系统,安装路径是你的C盘.或者在界面处选择进PE,然后PE里有个一键安装的软件(就在桌面),选择你放在U中的镜像,装在你的C盘.此时会出现一个进度窗口,走完后重启.5、重启后取下U盘,接着就是机器自己自动安装了,只需要点“下一步”或“确定”,一直到安装完成
翔安区18725182069: 基于嵌入式linux最小系统设计具体操作步骤?目标板pxa270,实现u?
益点氢溴: 这个就很专业了,点歌机系统内核需要很长的编码开发程序,一个人可能需要话很多时间.具体怎么做在字面上是不好说清楚的,就像1楼朋友说的一样具体的东西谁也不会在这跟你打上的,要是打上了黄花菜都凉了.呵呵~ 你还是去相关的论坛求助
翔安区18725182069: 最小满足个人需要的linux系统大概能有多少兆 - ?
益点氢溴: tiny core linux 是据我所知 最小的Linux 发行版本 分支 core,11兆,纯命令行.分支 tiny core,16兆,X/GUI 图形环境.分支 coreplus 106兆,建议只能访问无线网络或使用非美国键盘布局的新用户.
翔安区18725182069: 最小最好最正宗的Linux 系统 - ?
益点氢溴: linux内核是就是最小最好最正宗的.特别是那些一点几版本的,只有几百k到几兆.但和楼上说的一样,系统内核不适合你用.如果是发行版的话,有这个:ttylinux
翔安区18725182069: 我想知道关于CPU指令集的事情,我知道CPU指令集用汇编语言和C语言就能写一个简单的操作系统吗??
益点氢溴: 你网上所以下linux,最小的只有几十兆,而且唯有linux既是开源而且用的人多出问题好解决. 但是,没有基础看这些很头疼的,我也没搞过这些.好像linux是用C写的. http://www.oschina.net/question/12_10095 http://www.cr173.com/soft/15520.html 这个linux 10mb 楼主不妨从这了解. 当然,像一些windowsPE系统,linuxPE系统也是不错的选择. 最后,我也不懂这些,只是说说个人看法,关于CPU指令集应该是海里去了,建议针对某一类和与之相对应的系统做切入点. 先帮楼主顶了.
翔安区18725182069: 如何精简Linux - ?
益点氢溴: 精简的linux可以参考debian的最小安装,lfs手册(奔腾D编译起来可能比较慢),gentoo的stage{1,2,3}安装等资料,他们提供了多种方法 还可以参考嵌入式开发的思路bootloader-kernel-rootfs,这样更小更快 关键看你对linux的了解,对操作系统的了解和对软件编译的经验丰富程度
翔安区18725182069: 以NanoPi NEO为例,如何在非2440板子上快速搭建最小系统 - ?
益点氢溴: 2440 做个最小的LINUX内核,添加拨号等,然后可以支持USB的3G模块.