在Surface Pro上面安装Fedora

时间:2024-03-10 19:31:38

之前写了个英文的,后来一想还是弄个中文的吧,万一有同学要看呢……

因为网上大多是关于Ubuntu装到SurfacePro上面的资料,并没有人来做Fedora的实验,我来当小白鼠了~~~

 

1. 准备工作:

首先你得有个U盘吧?少说得4GB,我的是KINGMAX 8G的

其次还得有ISO文件啊,我准备了俩,一个是Win8的,一个是Fedora18的

 

2. 格式化磁盘

注意了,磁盘操作很危险!请备份数据!

(来源 http://www.eightforums.com/tutorials/15458-uefi-bootable-usb-flash-drive-create-windows.html)

(NOTE: Substitute # in the first command with the actual disk # from step 4 above. For example: select disk 4)// 注意数字,一定要确保不出错
select disk #

clean

create partition primary

format fs=fat32 quick

active

assign

list volume

exit

    Click image for larger version

    格式化完成之后,直接从ISO拷文件到U盘根目录就可以了,mbr那些东西不用弄了。

    2.x 想要U盘双启动菜单的话,看这里

    如果你是把两个ISO当中的文件都拷贝到下来的话就会发现重复了一个文件:\efi\boot\BOOTX64.efi  .

    解决方法也很简单,把微软Windows的那个EFI文件重命名为 “ms.efi” 然后BOOTX64的那个使用Fedora ISO当中的

    image

    之后做个对grub.cfg做个备份 grub-Copy.txt

    再编辑grub:

    set default="0"

    function load_video {
      insmod efi_gop
      insmod efi_uga
      insmod video_bochs
      insmod video_cirrus
      insmod all_video
    }

    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_gpt
    insmod ext2

    set timeout=10
    ### END /etc/grub.d/00_header ###

    search --no-floppy --set=root -l \'F18\'

    ### BEGIN /etc/grub.d/10_linux ###
    menuentry \'F18-x86_64-Live-Desktop.is\' --class fedora --class gnu-linux --class gnu --class os {
        linuxefi /isolinux/vmlinuz0 ro rd.live.image quiet  rhgb
        initrdefi /isolinux/initrd0.img
    }
    menuentry \'Verify and Boot Fedora-18-x86_64-Live-Desktop.is\' --class fedora --class gnu-linux --class gnu --class os {
        linuxefi /isolinux/vmlinuz0 root=live:LABEL=Fedora-18-x86_64-Live-Desktop.is ro rd.live.image quiet  rhgb rd.live.check
        initrdefi /isolinux/initrd0.img
    }

    menuentry "Windows x86_64 UEFI-GPT" {
        search --fs-uuid --no-floppy --set=root XXXX-XXXX
       chainloader (${root})/efi/boot/ms.efi
    }

    这里边需要注意两点:

    第一就是磁盘的卷标,这个是为了传递内核参数的,我改成了 F18 上面标黑体的都得改;

    第二就是磁盘的UUID,由于U盘是FAT32格式,应该具有XXXX-XXXX的ID格式。当然,你也可以不管卷标,使用root=live:UUID=XXXX-XXXX 也可以启动live环境。

     

    3. 关闭安全启动

    如果没关闭,就是这样子的:

    Sig

    所以呢,我们得关闭掉它,方法有三种:

    第一就是高级启动了,你需要首先进入Win8才能进行这个操作;

    第二是关机状态下按住音量+ 再进行开机

    上面两个方法参考于http://www.microsoft.com/surface/zh-CN/support/warranty-service-and-recovery/how-to-use-the-bios-uefi

    第三,如果你有Cover或者USB键盘的话,开机的时候按ESC或DEL可以进入设置,但是并不一定100%成功

    TPM

    在上图当中关闭就可以了

     

    4. 安装Fedora

    安装过程中忘记截图了…… Sad smile 还是用文字来描述吧

    首先,格式化了备份的8G分区,挂载点选择根 /;

    不要忘了还需要设置ESP(通常是/dev/sda2) 挂载点为 /boot/efi 这个盘不要格式化!

    下面就可以等待了,需要等大概10秒的时间,估计是后台在格式化,之后就可以进行继续安装了

     

    安装完成之后,可以看到如下的菜单

    F18GRUB

    最后一行字好小啊…………

    F18GRUB2

    最大的问题就是WiFi了,它没有驱动。幸好我有个USB的无线网卡,所以可以通过USB接口接入。yum update花费了好长时间,大概更新了将近500个包,同时内核也到最近的了

    之后启动到新内核,发现有至少3个无线设备!并这个时候系统死机了,只好强制关机了,在之后启动的时候总是Kernel panic……

    我试了一下,如果runlevel选择为1的话可以进去,2-5的话就不行,崩溃的地方出现在了WiFi的驱动上面。

    panic1

    panic2

    不过,Fedora认出来了这个是Surface Pro……

    我换回了3.6的那个老内核,可以进去,这时候发现了有无线网卡了,ifconfig查看到有两个设备mlan0和uap0,当然只有一个可以连接无线网络。网络不稳定,掉线的时候说kernel出问题了

    Screenshot from 2013-05-29 07_12_28

    总之,这是个驱动问题,只求后面的内核可以更新了……

    4.x 安装Windows 8

    原来的Win8其实一点儿没动,所以你可以跳过这个部分。

    不要以为Windows 8就是为Surface开发的,Windows 8是不带Surface的网卡驱动的,所以你得手动搞……之前说了,我有个USB网卡,这真是帮了大忙了,通过USB网卡连接到网络并且Windows Update,有近500M需要更新,更新完之后就有无线网卡的驱动了……当然,不用担心激活问题,联网后自动激活。

     

    5. 更改UEFI启动设置

    现在就应该可以启动到Linux了,更改启动顺序怎么办?用 efibootmgr! 注意要使用管理员权限啊!Windows下面我还没找到类似的工具

    #: efibootmgr

    BootCurrent: 0000
    Timeout: 10 seconds
    BootOrder: 0003,0000
    Boot0000* Fedora
    Boot0003* Windows Boot Manager

    那么怎么添加Windows的启动项呢?找到并编辑/etc/grub.d/40_custom

    #!/bin/sh
    exec tail -n +3 $0
    # This file provides an easy way to add custom menu entries.  Simply type the
    # menu entries you want to add after this comment.  Be careful not to change
    # the \'exec tail\' line above.

    menuentry "Windows x86_64 UEFI-GPT" {
        search --fs-uuid --no-floppy --set=root XXXX-XXXX
       chainloader (${root})/efi/Microsoft/Boot/bootmgfw.efi
    }

    XXXX-XXXX 变为你的ESP分区的UUID

    如果你是在Windows下面,可以使用“高级重启”并且“选择设备”,在这里你应该看见Fedora一项了,选它就可以了。

    无意间发现了你可以在开机的时候自己选择系统的:只需要开机按F7,时间点嘛,应该是出现Surface的logo之后:

    BootLoader

    之前还见过红色的AMI的启动画面,忘了是按左上角什么按键了,后来测试了一下,是Tab键,不过这个不重要,因为你看到就是ESC或者DEL进入设置……

    但是有时候这些按键在开机的时候不给力,不知道为什么.

    5.1 添加U盘启动的Linux

    如果你在grub2-mkconfig的时候,同时插入了带有Linux的U盘,那么它会自动识别并且添加到Grub的菜单当中,需要注意的是你最好检查一下菜单当中的启动命令,因为对于MBR模式来说,使用linux和initrd,而在EFI环境下你需要使用linuxefi和initrdefi这两个命令。不得不说Fedora这点做的好啊,硬盘通过硬盘盒转接后依然可以启动并且正常跑系统!这不就是Windows To Go类似的了么……

     

    6. Surface Pro 在Fedora 18下的功能比较

    (跟这里给出的功能进行比较:http://www.microsoft.com/surface/zh-cn/support/getting-started/get-to-know-your-surface-with-windows-8-pro)

    触摸屏

    只能用单点触控,不过Fedora可以识别出笔,触控的话在看Pdf的时候管用,但是别的地方,比如看网页的话,就是个模拟鼠标的功能,好渣啊……

    Surface 触笔

    可以识别,悬浮也有效果,跟鼠标类似,就是Fedora对于悬浮离开这类事件处理的不好。那个按钮是中键的作用

    Wi-Fi 和 Bluetooth 天线

    只能说,驱动是个大问题……勉强能用

    两个摄像头(前后各一个)

    F18的找不到更换摄像头的地方,我用了F17的,可以更换摄像头并拍摄视频(1280*800)

    麦克风

    管用

    软件

    忽略掉把,你又没用Win8……

    Windows 按钮

    按下 Surface 上的 Windows 按钮可快速转到“GNOME”屏幕。 同时有力回馈,也就是微小的震动

    传感器

    Surface 包含四个应用可以利用的传感器:环境光传感器、加速度计、陀螺仪和数字罗盘。 但是Linux下面怎么读取这些设备的信息啊!!

    支架

    Surface 包括一个内置支架,支起后可以提高工作效率和进行娱乐。 这个和系统无关……

    端口

    全尺寸 USB 3.0 端口

    测试了一下,2.0的可以,3.0的话,我是SSD接2588US3硬盘盒的,读取100MB(系统是这个SSD上面的F17),算是一般,据说Century世特力CSS25U36G可以达到300MB,我没钱买,只是听说而已……

    microSDXC 卡插槽
    没卡没测试

    充电端口
    当然能用……

    Mini DisplayPort
    没这接口的设备,所以没测

    电源

    又是废话……

    附件

    触控式键盘保护套
    没有这个东西。 你给我买个吧……

    实体键盘保护套
    这个我有,能用,并且开机的时候按F7或者DEL都可以。

    Surface 视频适配器
    没有啊……有人愿意捐助一个么