从入门到放弃的数据分析
不要弃疗!论一个小白如何开始一步步在移动硬盘上装ubuntu18.04
中间有很多坑,很多细小的问题,在这里写出来,希望之后可以不要重蹈覆辙!
本文的重点是在移动硬盘(SSD)上安装Ubuntu18.04 的过程。在看了很多的大佬分享的帖子之后,我发现一共是有两种途径来实现这一过程,一种是借Vmware虚拟机来实现的(比如:使用VMware虚拟机作为安装镜像的引导介质),一种是用U盘作为启动盘来在硬盘上安装。
注意,最后这半句有一点绕。如果搜索关键词:“Linux+U盘”的话,搜到的内容有可能只是关于怎么把U盘制作成Linux的启动盘的。这一类的文章指向的结果不一定是将Linux系统安装到硬盘上,也有可能是:
为什么要选择Ubuntu 18.04
linux系统有很多种,Ubuntu,Redhat,Debian,Gentoo,CentOS,Fedora,Kali Linux,Arch Linux,OpenSuse等等。由于linux开源,大佬们总是一再发展自己的版本,对于小白来说,选择困难啊。
最后还是选择了Ubuntu 18.04桌面版。原因是,Dell这个大厂也用这个,而且这个版本是一直维护的,所以不靠谱 推测这个版本应该用户群比较大,比较稳定。小白不需要高精尖技术,先练练手吧。
为什么不适用虚拟机或者装双系统
首先,放弃虚拟机的原因是:4G内存的电脑装虚拟机好卡。或许还有其它硬件的原因。比如CPU,硬件老化什么的。而双系统(比如大多苹果机使用win+mac的双系统)会让我本来储存空间就所剩无几的电脑的负担更大。所以果断放弃这一想法。
贫穷使我好好学习,高端电脑买不起,原先的电脑也不能放弃,只能退而求其次。上网冲浪 搜索资源后,我发现大佬们发明了windows to go,然后还有人把linux装到移动硬盘(或者U盘)。于是觉得或许这是对我来说最好的解决方案了。
至于,把系统装在移动硬盘上对硬盘反复读写可能导致硬盘寿命下降,以及数据存取速度可能不够快等等弊端。实在没有两全其美之法。我使用linux系统的目的主要在分析数据,我需要的一些数据分析软件只支持linux环境,不得已。如果还有什么其它的弊端没有提到,有大佬路过可以提出一下,感恩!
预期的实现目标:
原先的PC配置:win7旗舰版(x64),Intel i3 CPU(2.50 GHz),4GB 内存,双显卡:Intel和AMD,网卡:1x1 11b/g/n Wireless LAN PCI Express Half Mini Card Adapter
以上信息可以通过“开始-计算机(右键)-属性” 以及 其页面中的“设备管理器-显示适配器/网络适配器”看到
Ubuntu镜像准备:
到Ubuntu的官网或者其它镜像网站中下载需要的Ubuntu镜像.iso文件。
我这里使用的是以前下好的“ubuntu-18.04.1-desktop-amd64.iso”文件,大小为1.81GB
软件准备:
<1> 非必需! DiskGenius:官网地址
用来移动硬盘分区(这样一个硬盘就不需要所有空间都用来装 Linux,而是可以一部分装 Ubuntu,一部分储存文件,甚至可以多个分区装多个系统。)
也可以使用windows自带的“开始-计算机(右键)-管理-磁盘管理”进行磁盘分区
<2> Universal-USB-Installer:下载位置
这个软件是用来制作U盘启动盘的,这是我最终成功时使用的软件
<3> 非必需! Ultraiso(软碟通):官网地址
这个软件是用来制作 U盘启动盘的
这个软件在实际使用发现boot开会出现问题(Failed to load Idlinux.c32)所以后来改用了下面的这个软件
<3> grub4dos:下载链接
用来配置与调整启动配置数据,关于这个软件的原理之类的有点复杂,不过多深究,我是参考了一位博主的文章中的使用方法来进行的。
这里的下载链接下载的也就是这个博主使用的grub4dos版本。
硬件准备:
<1> 一个U盘,容量大于.iso文件,我下载的文件为1.81GB,至少大过这个吧。有一些文章里面推荐是4G或8G以上的U盘,当然更好啦。如果是需要安装Windows系统,那么由于Windows的镜像文件更大,所以需要的U盘空间也越大。
注意:U盘里面有需要的文件的话,先把文件拷出来保存在另一个地方,因为等下将U盘作为启动盘时,会把它格式化。
<2> 移动硬盘,至少40GB(这个数字不知道是怎么得出的,总之大一些总没坏处)
在分配40GB给Ubuntu系统使用时,这个系统不好支持更大的需求,比如数据分析,打大型游戏之类的,所以建议有条件的话分90GB以上。
这里使用的是windows自带的磁盘管理工具进行分区
<1> 把安装Ubuntu的移动硬盘插到电脑上
<2> 打开“开始-计算机(右键)-管理-磁盘管理”
<3> 选择该硬盘,右键压缩卷,然后按照需要分区
因为怕出现4k对齐问题,而且我的硬盘是空盘没有数据保存的问题,所以最后没有去分区!!这样做导致的问题就是硬盘的空间有一些浪费,将这个硬盘插到Windows系统的电脑上后不会显示出来。
如果想要分区的话,要将安装系统的分区留在最前面,因为引导文件只能识别最开始的137G空间,如果安装在后面会导致无法开机。
将U盘制作成启动盘的制作软件是很多的,除了文中提到的Ultraiso(软碟通)还有XX以外,还有比如Rufus等。如果U盘的制作还是发生问题,可以尝试换一个.iso文件。如果还有其它解决方法,路过的大佬请不吝赐教!
我最后成功使用的软件是Universal-USB-Installer-1.9.8.8.exe。
步骤1:下载Universal-USB-Installer(下载位置)
步骤2:双击打开下载好的.exe文件,点击“I Agree”,进入到如下页面:
步骤3:Step1框中选择Ubuntu,Step2框中放入下载的.iso镜像文件,Step3中选择用来制作启动盘的U盘,然后点击Create,如下图(完成这一步后U盘就制作完成了):
虽然最后的实现不是用Ultraiso(软碟通)软件制作的启动盘,但是也算是尝试过的,所以也把这一部分放上来。
另外,有一些博主说如果在便携启动中选择“RAW”的形式写入可以避免出现“Failed to load Idlinux.c32”的问题,但也有人说这样的做法会导致U盘烧坏。
步骤1:下载Ultraiso(软碟通)并安装(都选择默认设置),打开软件,选择“继续试用”
步骤2::“文件-打开下载好的.iso文件”,选择要作为启动盘的U盘(把里面需要的文件先保存出来,因为写入.iso文件的时候U盘会被格式化。),然后“启动-写入硬盘映象…”
步骤3:按照下图所示,硬盘驱动器位置是作为启动盘的U盘,映象文件为下载的.ios文件,写入方式选择USB-HDD+,然后先选择便携启动中的“写入新的硬盘主引导记录(MER)- USB-HDD+”,之后依次选择“格式化”,和“写入”
本质上说,在原本的电脑硬盘(双系统,在磁盘上分区存放不同的系统)或移动硬盘(或U盘)上安装的原理都是差不多的。当然这是我看了很多不同的系统安装的文章后的一种感想,具体是不是有什么细节上的不同,需要实践的检验。
步骤1:把作为启动盘的U盘,和用来安装系统的移动硬盘插入同一台电脑(最好使用USB3.0也就是Type-c接口)
步骤2:电脑开机,进入boot menu,选择U盘启动。(我的电脑是把bios和boot menu分开的,需要先进入bios设置把USB Boot的选项改成是Enable,然后Save and Exit)
这一步需要按照使用的电脑具体情况具体分析,大部分情况是在最开始的开机页面按Del,F1,F2,F10中的一个进入bios。
步骤3:选择第一项Try Ubuntu without installing,一般来说不要动键盘,这一部分就直接是这个选项了,不要选择第二项Install Ubuntu。
这里开始可以参考这篇文章:把Ubuntu16.04装进移动硬盘的惨痛实战。由于我在参考这篇文章的过程中还是出现了一些问题,所以还是在这个基础上把我的方法也写出来。
步骤4:双击桌面上的Install Ubuntu,也就是开始安装Ubuntu了,之后的选择要小心!
步骤5:选择语言为“中文简体”(当然你想用其它语言也可以),键盘布局为“汉语”,点击继续
步骤6:选择“正常安装”和“安装Ubuntu时下载更新”,点击继续
步骤7:选择“其它选项”,点击继续。这一步很重要!选择成第一个的话会导致磁盘被清空。
然后就开始移动硬盘的分区,这个分区跟之前讲的把硬盘分成装系统的部分和装文件的部分的分区不是一个意思。
由于参考《把Ubuntu16.04装进移动硬盘的惨痛实战》这篇文章的时候,完全按照那样分区出现了错误:“无法将grub-efi-amd64-signed软件包安装到/target/中",所以分区我选择了另外的方式,写在步骤8中。
步骤7.1:Ubuntu分区,这一步之后可以跳过步骤8了。因为我装了太多软件导致根目录的空间不够,所以重装了,重装之后找不到efi分区,好像是因为UEFI和Legacy的格式导致的,于是我换了一种分区的方式,如下图所示:分成swap,/boot,/home以及/四个分区,并且给了根目录和/home分区足够大的空间。
Swap逻辑分区4060MB,与内存一致
/boot引导分区,主分区,1040MB
/home用户储存数据的分区,逻辑分区,256016MB
/主分区,用于存放系统和一些软件的默认安装位置,相当于windows系统的C盘,剩余所有空间
步骤8:Ubuntu分区。/dev/sdb是我的移动硬盘,选择其中的空闲区域,在下方通过点击“+”那个按钮来添加分区,我的最终分区是四个(注意:这里分区完后先不要点击继续!!):
/dev/sdb1 efi 469MB 一开始因为没有分这个区,安装到一半出现问题:“无法将grub-efi-amd64-signed软件包安装到/target/中。如果没有GRUB启动引导器,所安装的系统将无法启动。”
/dev/sdb2 swap 4060MB
/dev/sdb3 ext4 / 40969MB 根目录,这个是一定要有的
/dev/sdb4 ext4 /home 454521MB 这是我的硬盘剩余的所有空间,这个分区是用来装用户的文件
步骤9:在上图的“安装启动引导器的设备”中选择你安装系统的移动硬盘,例如我这里是/dev/sdb,然后点击继续。
步骤10:时区选择“台北”,在台湾那个地方点一下就可以,点击继续
步骤11:输入姓名,密码之类的,自由设置就可以了,点击继续,然后Ubuntu就开始安装了,请耐心等待
步骤12:安装完成后,虽然《把Ubuntu16.04装进移动硬盘的惨痛实战》这篇文章说不要选择重启,但是我选择继续后还是处于启动盘U盘的系统中,并不是移动硬盘的系统,所以我还是关机重启了。
步骤13~步骤16的作用存疑。还是可以按这个步骤进行下去,并不会报错,也不会有什么大的问题,但是虽然现在系统是可以正常使用的,却不能在正常开机的过程中选择哪一个系统进入。也就是说引导并没有完全装好。用EasyBCD没有解决这个问题。一些文章的说法是要有/boot分区,有的说不需要,有的说需要EFI分区,但是好像也没有作用。我重装了一次之后并没有进行步骤13~步骤16也并不太影响我的使用,只要每次boot menu启动就好了。拔掉移动硬盘后可以正常启动,与原先的电脑没有差别。
步骤13:重启后的电脑进入了移动硬盘的Ubuntu18.04系统,这时候再进行引导的安装。这一步骤结束后,一共需要记录下3个数据:(1)根目录/挂载的盘符(2)及其UUID,还有(3)内核版本号。
Ctrl+Alt+T打开终端,输入:
cat /etc/fstab
会出现类似下面的文字:
# / was on /dev/sdb3 during installation
UUID=c9787XXXXXX
把盘符(我这里是/dev/sdb3),UUID记录下来,你可以拍照或者手抄下来,不要记错。
然后再在终端上输入:
cat /proc/version
获得内核版本号(如4.15.0-58),同样记录下来
步骤14:参考《把Ubuntu16.04装进移动硬盘的惨痛实战》这篇文章,“安装GRUB4DOS引导” 部分,原句为:“下载GRUB4DOS, 解压后有一个menu.lst,将其中的4.10.0-28 全部替换为你的内核版本号,将8578bdcd-8385-4121-80c4-d48cc0b2e282 全部替换为你的UUID,将(hd0,0) 的0全部替换为你的盘符号减1的值(如/dev/sdc5则把(hd0,0)替换为(hd0,4)),保存修改。”
注意:我是直接点击这篇文章中的链接下载了GRUB4DOS,我尝试了一下在其它地方下载GRUB4DOS,发现两个版本不太一样,我不知道有没有影响。因为我要使用这篇文章的方法,所以还是选用了这个作者给的版本。
步骤15:尝试使用参考的文章继续操作后出现了问题,原文是这样写的:“在menu.lst文件所在目录下右键open in terminal,使用命令sudo cp menu.lst grldr /media/ubuntu/UUID (将UUID替换为刚记下的UUID)”。
因为我的用户名不是ubuntu,所以改成了sudo cp menu.lst grldr /media/lq/UUID (将UUID替换为刚记下的UUID),但是还是报错:“/media/lq/UUID”并不是一个地址。
后来查了一些文章,虽然没有非常理解为什么要把menu.lst和grldr这两个文件保存到这个路劲,但是我还是觉得需要把这两个文件加入到系统的开机选项中。于是,我找了一下我的grub是在/boot/grub里面,所以把这两个文件复制到这个路径下面:
sudo cp menu.lst grldr /boot/grub
步骤16:关机,不要把移动硬盘拔掉,重启电脑进入boot menu,选择启动原先的Windows系统。同样需要下载GRUB4DOS,然后在其中的文件夹下有一个grubinst_gui.exe,右键以管理员身份打开,在磁盘中选择你的移动硬盘,下面勾选Grub第二版,点击安装。
步骤17:就此,Ubuntu18.04已经安装到移动硬盘上了,我测试了一下在其它电脑上使用这个硬盘,同样要进入boot menu将boot的优先级设置为硬盘优先,然后就可以使用装在移动硬盘上的Ubuntu18.04系统了。拔掉移动硬盘的话,直接开机就是原先的Windows系统。
可能出现的问题:
1
如果出现了把硬盘拔掉后不能正常打开原先的系统,原因是安装Ubuntu的时候没有把引导装在移动硬盘上。
某乎上的一个回答(以下为原文):
“插着移动硬盘然后正常往里面装ubuntu,安装grub时选择安装到移动硬盘的mbr里,grub在生成配置文件时会搜索所有可用的驱动器,并把windows一并加到它的启动菜单里。然后再到电脑bios里设置usb或者是移动设备优先启动。
这样你的电脑:
1 不接移动硬盘时,bios正常从硬盘的mbr引导启动win。
2 接移动硬盘时,bios从移动硬盘mbr引导启动grub,grub加载配置文件并生成启动菜单,而且就有硬盘上的win和移动硬盘上的ubuntu,选一个启动即可。
这个移动硬盘拿到别的电脑里也可以正常启动的,一般来说需要在bios时选为启动设备。当然有极个别的电脑bios做的比较烂有可能不支持。”
作者:js li
链接:https://www.zhihu.com/question/20883120/answer/29189186
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
2
本次安装的分区可能会有不合理,但是网上关于怎么分区的文章大多各执一词,所以暂且先这样使用着,遇到问题再来修改。