Surface上安装Fedora20的注意事项

之前写过一篇装Fedora18的,但是有个问题一直困扰着,那就是启动菜单的问题。在开机之后,某些情况下会进GRUB让自己选进哪个系统,大多数情况下是不能选的,只是进入默认Windows 8。

经过多次实践,终于发现了原因:在安装Fedora18的时候,我分区的方式为:microSD卡为单个根分区,SSD上面的EFI分区则挂载为/boot/efi。Surface使用的是UEFI的启动器,在按下电源按钮之后,系统不一定加载各项设备,因此在读取了SSD上面的EFI分区之后,开始找启动文件,默认情况是去找bootmgr的,所以启动到了Windows。使用bcdedit更改为fedora/grubx64.efi就可以了,别忘了同目录下面最好有grub.conf。(在Fedora18的时候由于efibootmgr似乎没有实现好,导致了使用其修改之后没有效果。Fedora20则可以改,Windows 8 当然用bcdedit也可以咯)这时候开机显示的就是找不到文件的错误了。

为啥找不到文件?

既然此错误出现了,那么就说明系统的确执行了fedora下面的efi文件,但是执行过程中错误了。找不到的是什么文件呢?是/boot下面的文件,比如各类模块什么的。即使进入rescue模式,ls也只有一个(hd0, gpt*)的结果。这样就显而易见了,系统需要找到microSD卡上面的/boot文件夹里边的内容,但是此时获取不到microSD卡的任何存储信息,自然就报错了。为何此时找不到microSD呢?答案是:为了启动速度。开机的时候仅仅加载必要的东西,别的之后再说。所以,如果你用开机键+Vol Down想让其从U盘启动的话,会发现启动的时间比以往长了不少。

好吧,那就开始安装

安装操作需要进行磁盘的分区,因此请谨慎。在第五步需要对本机SSD上面的分区操作,这一步不要忽略。

首先呢,你需要一个足够大的U盘或者移动硬盘,还有就是Fedora20的镜像。

第二步,U盘的分区格式为FAT或者FAT32这类的。把所有文件解压到U盘的根目录上面,改一下U盘的卷标,比如F20。

第三步,修改EFI/BOOT/grub.cfg(Windows下建议使用notepad++或者WinEdt)。将Fedora 20 x86_64有关的字样改为你的卷标,比如F20.下面红色的地方是你需要更改的地方,我只摘录了一部分

search --no-floppy --set=root -l 'F20'

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Install Fedora 20' --class fedora --class gnu-linux --class gnu --class os {
        linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=F20 quiet
        initrdefi /images/pxeboot/initrd.img
}
menuentry 'Test this media & install Fedora 20' --class fedora --class gnu-linux --class gnu --class os {
        linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=F20 rd.live.check quiet
        initrdefi /images/pxeboot/initrd.img
}

这样就算做好了一个可以适用于UEFI启动器的启动盘了。

第四步,按下Power+Vol Down,让系统从U盘启动。你也可以用F7按键选择启动设备,下图就是在一次完整开机过程当中按F7的效果,出现选择菜单。开始的两个是我为了测试而创建的。由于需要安装,因此选了UEFI:YuanTechGD2500-SATA作为启动设备。

F7

步,这个和正常安装系统就差不多了,我只把需要注意的点放上来好了。

五.注意步:选择磁盘分区。之前就是因为把/boot放在了microSD卡上面导致的,因此需要在SSD上面划分一块空间来当作/boot使用。你可以使用”压缩卷“功能来给出一部分空间,不需要太大,500M足够了,建立一个分区即可,格式无所谓因为后面需要格式化的。

首先当然会出来一个感叹号,因为目前所有硬盘都分区完成了,没有多余的空闲空间来安装Fedora,所以需要手动指定安装的位置。

Select installation destination

Select disk

当然,你需要选择系统安装位置,在这里就是那个Generic-USB3.0 CRW这个设备了。点击之,选择自己创建分区,分区类型选基本分区即可。

Disk partition

进入之后你除了根节点用的是sdb1(microSD卡的分区)之外,sda2是EFI系统分区,挂载点/boot/efi,sda5是之前划分出来的那500M,挂载点是/boot。具体的即为下图所示

Partitions

解决好/boot的问题之后,其他正常走就可以了。之后每次启动进入的就是GRUB菜单了。

GRUB

不过我一直没搞出来如何保存上次选择的系统,所以每次开机都需要键盘来上下移动从而选择Windows……不过也有个小毛病,当系统是快速开启的时候(表现为Surface的Logo闪一下就进入GRUB了)键盘在开始的2~4秒内不可用,其按键在这个时间过了之后才会显示到菜单当中。所以建议需要切换系统的同学们把GRUB的timeout设置为5秒。原因嘛,还是开头所说的,系统为了达到快速开机的目的,一切不必要的设备都不初始化,键盘这类USB设备应该完全不影响正常的硬盘启动,所以这些设备都放着,不要初始化它们……

另外的奇怪现象:应该都是GNOME软件问题

在更新了系统固件(通过Windows自动更新)和Fedora后,最近F20出现了奇怪的问题:双屏连接时,两者在开机的时候显示同样的开机动画,在进GNOME之后,系统认为是扩展模式,而本机主屏幕则没有任何显示。也就是登陆框什么的都看不到。只有把Cover合上,让系统认为笔记本屏幕已经关闭,此时才能在外接屏幕上面看到全桌面了。即使是不外接显示屏,主屏幕在启动完成后依然黑屏,坑啊!

还有一个蛋疼的就是DPI,F20的好处在于感知到了屏幕大小和分辨率,因此它自动调整了显示内容。但是很多程序不兼容啊……看图,下面的图是1920*1080的,是在10.1寸屏幕上面显示的。可以看到GNOME主动修改了边框大小,从而不至于让人感觉字体过小,但是对于应用来说就不是了。

Maps

下图也是1920*1080的,但是弹出的窗口都没有显示完全啊!!确定键只能靠着tab逐个按然后猜了……

Dialog

原文地址:https://www.cnblogs.com/DaochenShi/p/3632271.html