就Linux的学习而言,一般有以下几种方法,每一种方法都有自己的优点,而这里我要说一下缺点:
1、使用虚拟机,安装Linux,缺点:硬件是虚拟的,win上的虚拟机运行效率都不好,不能发挥硬件性能,对硬盘使用寿命影响比较大,虚拟硬件与真实硬件毕竟有差异,不利于学习Linux。
2、安装win+linux双系统,缺点:每次安装双系统或多或少有一些麻烦,通常还是出现在重启的时候,不小心容易造成MBR混乱,同时,安装双系统会修改MBR,需要从之前分好区的硬盘里压缩出空余空间来安装linux,这个东西挺麻烦的,步骤繁琐而且容易出莫名其妙的错误。
3、光盘或者u盘启动盘运行liveCD,这个问题很多,要学校linux,这个实际上还算不上是一个方案。
4、摒弃win,直接使用linux,这个方法其实算得上是最好的,但是对于一些人来说,挺不好的,像我的很多工作还是要在win系统里进行,这样就无法完全不使用win。
于是,将linux安装到移动硬盘,并做独立引导这一想法就诞生了。这样一来,解决了上述的很多缺点,简要说一下。
1、和安装在本地硬盘,除了使用的接口不同,基本是一样的,完全使用真实硬件。
2、不修改本地硬盘MBR,在电脑启动时,插入移动硬盘,选择从移动一盘启动,便可以进入linux,默认不挂载本地硬盘,不读写本地硬盘,需要用本地系统时,关机,拔下移动硬盘再开机即可,两个盘完全隔离。
3、不会减少本地硬盘寿命,不会对本地硬盘文件系统有任何影响。
4、安装方便,删除也方便,若要删除,在任意一台电脑上插上安装linux的移动硬盘,在磁盘管理工具中,将linux分区删除即可。
5、适合多种linux发行版安装,安装方式统一、简单、无错。
缺点:移动硬盘使用USB接口,读写速度有所下降
为什么是移动硬盘,不是U盘?
Linux是一个复杂优美自由的操作系统,系统运行起来之后,会对硬盘有大量的各种读写操作。
一般的U盘是不太适合这种大量频繁读写操作场景的,它们适合长期保存一些重要的文件,读写频率较低。移动硬盘就比较适合这样的运行需求,SSD和HDD的硬盘都可以。
USB只是一个接口,将主板与硬盘连接。我们电脑中内置的硬盘,也是通过一个叫SATA的接口连接。在移动硬盘中装Linux,建议选择USB3.0的高速接口,这样速度会更快,Linux运行会更流畅。
你可以随身携带的Linux操作系统
通过测试,通过家里的电脑在移动硬盘上安装的Linux,带到公司的电脑上启动,一样可以正常启动并运行。
你的Linux环境,全部装在这个移动硬盘中,而且可以随身携带,真的非常方便。
工具:
8G以上U盘(最好3.0,空,引导盘),移动硬盘(最少30G空白区域,最好3.0,新置为NTFS系统文件一定要先在win系统下删除卷空出空间否则在安装时硬盘没有空闲空间)
准备工作:
1.首先去官网下载iso镜像。
2.制作U盘启动盘,我用的是UltraISO,文件->打开->下载的iso镜像,启动->写入硬盘映像,选择U盘,写入即可。
刻录镜像:网络上有说将文件中packages删除再刻录,我直接刻录。
在弹出的窗中一定要仔细确定硬盘驱动器中的硬盘是否是自己要制作的U盘,映像文件确定镜像文件是否是自己要用的,写入方式选择USB-HDD+ ,隐藏启动分区:无,确定无误后,点击“写入”,等待写入完成,看到“刻录成功”字样即可。
先备份U盘中重要数据,在进行U盘格式化,并在格式化窗口将文件系统改为FAT32(一般格式化默认文件系统为FAT32,为避免进一步的繁琐,看一眼格式化窗口是否为FAT32)
格式化完毕后,单击“写入”,注意备份数据
注意:写入完成后U盘中会有很多散乱的文件,请务必保持写入完成后的原有形态,不能为美观新建一个文件夹,在把这些文件装到这一个文件夹中,否则将会使这些镜像文件“失效”。
此外我将原来iso文件中packages删除拷贝到u盘中,packages文件很大,删除后可以直接复制粘贴到u盘(有些教程说不用,又有说需要,网络教程太杂,先前我没有拷贝u盘可以引导,但是安装时存在问题,我以为是没有拷贝文件所致)
在制作CentOS系统U盘启动盘时,上述步骤完成后还要点击“便携启动->写入新的驱动器引导扇区->Syslinux”,在弹出的窗口中选择“是”即可,等待出现“引导扇区写入成功”弹窗后,点击确定,返回。
制作Windows系统的U盘启动盘与制作CentOS系统的U盘启动盘步骤一样,只不过“便携启动”那一步不再需要。
需要注意的是,不论先制作哪个系统的U盘启动盘,制作好后,必须先将制作好的U盘中的内容备份好,才能继续再制作其他系统的U盘启动盘,因为每次制作U盘启动盘时,都会对U盘进行格式化,所以做好的数据必须先备份才能继续制作。
在一块U盘上实现Windows、CentOS双系统启动盘集成。
当我们使用UItraISO软件按照上述步骤制作好一个系统的U盘启动盘后,可以进入自己的U盘,将所有的数据全部剪切到一个新建的文件夹中(命名可以按照系统命名,比如我这里全是CentOS系统的内容,把文件夹命名为CentOS7.6),然后备份好,留待后面使用。接着就可以放心继续使用UItraISO制作另一个系统的U盘启动盘了。同理,另一个启动盘制作好后,继续将U盘中的数据全部剪切到一个新建文件夹中(此处我命名为Win10),备份好。现在我们已经有了两个系统的U盘启动盘数据文件了,接下来,只需将刚刚备份好的两个新建文件夹拷贝到我们的U盘中。 注意!!!现在U盘里面有了这两个文件夹,在使用的时候,需要安装哪个系统,就将哪个文件夹中的内容全部剪切到U盘中(就是不放在那个文件夹中了),不用的那个系统,一定不要把文件夹中的内容拿出来(如果拿出来了一定要再放回去)。 实际上原理就是用文件夹把路径给屏蔽掉。用哪个就把哪个系统放出来,这样所需要的路径也就不会被屏蔽了。
3.磁盘分区:
我的电脑 右键->管理->存储->磁盘管理(本地),找到移动硬盘,我的是磁盘1。
这里强烈建议把CentOS系统安装在第一个分区,因为启动项只会扫描前137G,否则无法打开。
删除移动硬盘的一个分区。由于我的移动硬盘是新买的,所以直接删除卷,变成未分配后,新建第一个分区,这里就是CentOS的分区,大小50G足够,如果移动硬盘够大分100G也可以,模式选什么都行(ntfs就行),因为之后是要删掉的。
剩下的区域就是移动硬盘存储其他数据的地方,分区个数根据个人情况,模式选ntfs即可。
然后将第一个分区删除卷,变成未分配。
以上步骤目的是将移动硬盘靠前的分区分给CentOS系统。
对于这块移动硬盘,如果你不想把所有空间都分给linux而留下一部分作正常硬盘存储使用,则需要事先给它分区。建议网上搜索diskgenius软件进行分区。这里有一个硬盘格式的问题,linux一般用ext格式,而这个格式windows是不识别的,在分区时建议就用NTFS格式或保留原本的EXFAT就好。不需要在安装前把硬盘格式化成ext格式,这个步骤linux的安装程序会自己做。
直接偷懒没有做分区。
这是安装好CentOS之后的分区,98.09G为/挂载,1.91G为交换分区
DiskGenius为例,进行磁盘分区(类似的软件还有:魔术分区大师等。)
单击要分区的磁盘,右键单击,选择第一个:建立新分区。
注意:选择的磁盘需要有多余储存空间,否则在新建分区时磁盘中的信息会有损坏。
适当调节新分区的容量(最好不要低于10GB)后,-开始-是(Y)
完成后就会出现新建分区。
左键单击选定刚刚新建的分区,右键单击,选择“转为主分区”并确定。
接下来重复上面的左键选定,右键单击,这次选择“删除分区”选项并确定,便可以使其设置为未分配空间。
注意:这里的‘转化主分区’极为关键,如果略过这步,新建分区将会设置为‘可用空间’,而可用空间并不能作为系统储存的空间。原因如下:
可用空间:指已经分区的、还未储存数据的磁盘空间。
未分配空间:指未分区的空间。
已分区的空间不能储存系统
4.安装操作系统:
安装Windows,centos双系统前,须知:一定要先安装windows系统再安装centos系统。这是因为Windows系统的引导装载程序无法引导Linux系统,但Linux系统的引导程序Grub可以引导Windows系统。
将U盘和移动硬盘一同插在电脑上,首先进入bios选项(一般f1,f2,esc等)设置usb启动点击打开链接--百度经验--bios设置usb启动,或者进入boot manager(一般为f10,f12),进入U盘启动的grub启动项,在这里我选择的是第一个--立即安装。
电脑上插入移动硬盘和u盘开机进入系统安装界面。
选择第一项,按键盘上的“e”
这个时候最关键,一定要仔细的看清楚,选择的安装位置到底是哪个硬盘,千万不要选错了!!这个时候,一定要选择移动硬盘,这样就可以将Linux安装到移动硬盘中。
警告结束后在命令行输入“cd dev” 回车后再输入 “ls”(所有引号不要键入,为强调引号内的内容,),如下界面:
dracut:/# cd /dev
dracut:/# ls # 找到此时U盘对应的名字;如sdb
dracut:/# reboot 重启之后
在install页面按e键 >
修改vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 将quiet修改为 vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdb(你u盘所在)
再按Enter,再 ctrl+x 即可
进入紧急模式后,ls /dev/sd*
比较拔插U盘前后盘符变化
可以看到拔掉U盘后sda和sda4消失了,所以ultraiso是将硬盘分为sda4和sda两个分区,sda就是fat32的分区,sda4应该是启动分区。
reboot或者poweroff或者长按电源关机后,重新进入,在install centos linux 8的地方按e键出现下面界面
通过键盘移动光标直接修改为下图(添加initrd=initrd.img和后面hd:/dev/sda4)
进入以下界面需要改盘符将“vmlinuz inst.stage2=hd:LABEL=CentOS\x20x86_64 quiet”改成"vmlinuz inst.stage2=hd:/dev/sda4 quiet",我也是一个一个尝试才试出u盘盘符sda4
然后回车,然后ctrl+x进入centos图形安装界面
1.欢迎: 选择语言
2.无线: 连接wi-fi。因为连接wi-fi会下载语言包等,可以先不连,之后再手动下载,但为了方便或者时间足够,可以在安装时就下载语言包等更新。
3.准备安装CentOS: 如果时间足够的话,可以把 安装下载更新,安装这个第三方应用都勾选上。
4.安装类型: 选择其他选项。这里一定一定要选择正确,否则可能造成原本电脑的Windows系统出问题,因为你是在自己的移动硬盘上进行CentOS的安装,所以选择“其他选项”,然后点击“继续”。
进入到这里后,一定要分清哪个是电脑里的硬盘,哪个是自己的移动硬盘,找准自己的移动硬盘后继续下面的分区操作。
找到移动硬盘上有很大空间的那栏,点击下面的“-”号,等待它变成空闲且有很大的空间。
分区时找到移动硬盘留出的“空闲”位置,选中移动硬盘上的这个有很大空间的空闲,点击“+”号,进行分区,按“+”。
新手只需分两个区,2G分给swap,其余全给/挂在点(ext4)。
注意!!安装启动引导器的设备为/挂在点分区
继续选择空闲那栏,点击“+”号继续分区
按照下图进行分区即可
1> /boot: 300~500MB,主要用来存放系统引导式使用的文件。
2> swap:2GB,交换分区
3> /:可以不填(不填即默认使用剩余所有空间)
完成后,单击Done后单击Accept Changes(接受更改)即可。
重复上述操作继续分区
继续分区,前面已经分好了三个区了,把剩下的所有空间都分给/home即可
完成上述的四个分区步骤后,在进行“安装启动引导器的设备:”选择时,一定要一一对应,选择好后点击“继续”。
仔细确定分区的是否在自己的移动硬盘上,没有问题就“继续”,然后点击“现在安装”。
5.您在什么地方: 选地区时可以选上海,因为这个源比较快,可以下汉语语言包,时间也没有错误。
安装完成后,点击“现在重启”
等待屏幕上出现如下文本时,拔出U盘,点击enter键,电脑开始重启。
剩下的不说了,安装完成后重启按esc就可以选择centos系统了。
后续问题一:
当拔掉移动硬盘后,电脑无法正常启动Windows(即使当时安装启动引导设备时是安装在/挂载点下。。),而是进入启动linux的grub>,没有界面,但可以输代码,虽然可以输入一对代码进入Windows,或者按f12进入boot manager启动项。突然看到了一个帖子,于是成功啦~~是借助EasyBCD软件
下载安装后,进入添加新项目->重新创建/修复引导文件->执行动作
或者进入BCD部署,编写MBR。。我反正是两种方法同时都用了
这样Windows启动项就恢复了,也不影响移动硬盘中系统的使用。
后续问题二:
重启后会直接进入到CentOS系统,按照下图选择后点击enter键,然后等待进入到CentOS桌面就行了,至此移动硬盘上安装CentOS系统到此结束。之所以没有进到Windows系统是因为BIOS中boot的优先级发生了改变,Windows系统已不是优先级最高的了。
在我们的电脑上没有安装其他系统,只有一个Windows系统时,BIOS中的boot只有Windows一个,且优先级最高。所以每次开启电脑时,都会直接引导进入Windows系统。但由于现在电脑上(包括移动硬盘上)安装了另一个系统,所以系统安装完成后,BIOS中的boot将会有多个系统引导,并且优先级也发生了改变,一般应该是最新安装的系统他的boot优先级最高。所以这里Ubuntu的boot优先级最高,要高于Windows,所以开机后会直接引导进入Ubuntu系统(如果能进入系统的话会直接进,进不去就会一直在这里等待,原因是看你装有Ubuntu系统的移动硬盘插没插上)。
总结就是:电脑上若只有一个Windows系统时,BIOS中的boot优先级只有Windows一个且最高,开机会直接引导进入Windows系统;电脑上(包括在移动硬盘上做的系统)若有多个系统时,BIOS中的boot优先级会发生改变,此时则根据自身需要看哪个系统自己更加常用,就把哪个的优先级设置最高,这样开机就会直接引导进入最高优先级的那个系统。这里我虽然做了两个系统,但由于我更多的是要使用电脑里的Windows系统,所以我得在BIOS中把boot里的优先级更改成Windows优先级最高,方便我每次开机时直接进入Windows系统。
在BIOS中更改boot里的优先级操作如下:不同的电脑需查询如何进入BIOS中。进入BIOS中,找到Boot栏,进行如下优先级的更改,然后按照提示保存并退出即可。这样优先级就更改好了。
由于我们常用的系统是Windows,所以将boot引导优先级改成了Windows最高,因此每次开机都会直接进入Windows系统,那么这样的话又该如何进入到我们安装的系统中内?
想要进入到我们安装的系统中,只需要找到所有的boot引导即可,然后选择需要进入的系统的boot引导就行了。具体操作就是,电脑开机时使用 从U盘启动的快捷键(这里并不需要在电脑上插入U盘),然后进入到如下界面,这时就可以按照自己的需要选择进入哪个系统了。
在使用移动硬盘上的Ubuntu系统时,要注意,下面图中的这几个盘并不是移动硬盘上的,而是我们电脑里原先的盘符,数据也都在里面,你也可以进入到里面看到数据内容,但一定要记住,不能乱动里面的东西,防止数据丢失,原先的Windows系统被破坏!
后续问题三:
恢复windows10启动项
第一步:先添加Windows10选项(修改Grub引导项需要权限)
文本模式可以直接登录管理员
用户名:root ,密码:安装时自己设置的填入就可以登录
也可以在管理员权限下输入init 5进入图像模式【如果你在安装时SOFTWARE SELECTION (最小安装)中选择了最小安装,似乎就没有安装桌面版centos】
init 数字,其中数字的含义0、停机1、单用户模式2、多用户3、完全多用户模式,服务器一般运行在此级别(即我所说的文本模式)4、一般不用5、X11模式,启动桌面模式 6、重启
图像模式的话,鼠标右键单击桌面空白处,选终端。输入su,再输入管理员密码就可以登录管理员。
输入vim /boot/grub2/grub.cfg
大概在第70行,找到以下代码:
### END /etc/grub.d/00 header ###
按A进入编辑模式
在它下边写入这样一段代码
menuentry 'Windows 10'{set root='hd0,1'chainloader +1}
修改默认启动项
按住CTRL再按C退出编辑,再输入 :x 后按Enter键就可以保存并退出了,这样在开机的时候就会多出一项Windows 10 选项了。
但是怎样才能设置Windows 10作为默认开机选项呢?
输入这样一段代码就可以了:
grub2-set-default "Windows 10"
这样就直接完成了。
想要查看开机默认选项是否为Windows 10无疑,输入下面一段代码查询:
grub2-editenv list
其他:
修复引导请看win10和centos7双系统,默认启动win10
如果觉得《u盘制作双系统启动盘及在移动硬盘上安装Linux操作系统》对你有帮助,请点赞、收藏,并留下你的观点哦!