Surface Pro 4安装Ubuntu

1. 安装

https://medium.com/@t1ina2003/surface-pro-4-%E5%AE%89%E8%A3%9D-ubuntu-18-04-%E5%9C%96%E6%96%87%E6%95%99%E5%AD%B8-59e927e2cf6f

  1. 安装前先给本地磁盘做好分区,或者准备一张tf卡。装在tf卡里更保险,不怕搞坏Windows系统。
  2. 用rufus做好USB引导盘,ubuntu16/18都可以。插入USB,重启电脑。
  3. 一般情况下会直接进入GRUB引导。选择 Install Ubuntu 进入安装步骤。注意安装在提前准备好的分区上,绝对不能装在nvme0n上
    *如果直接进入windows,按住shift点击重启,就能进入UEFI设置界面,手动把USB 移到boot顺序中的第一位。重试此步骤。
  4. 安装完成后,重启。此时应该还是USB引导,这次选择Try Ubuntu without installing,进入USB引导盘中的系统。打开一个终端,一次输入下列指令。
sudo su
cd /media
mkdir windowsefi
mkdir microsdefi
mount /dev/nvme0n1p1 windowsefi
mount /dev/sdb1 microsdefi
cd microsdefi
cp -R ../windowsefi/EFI ./
exit
  1. 这样,系统引导就设置好啦。重启并拔掉USB,就能正常进入GRUB选择ubuntu或widows。
  2. 要是什么时候不想用了,在windows中下载一个EasyUEFI,在管理EFI启动项中删除ubuntu。然后再格式化ubuntu所在的磁盘分区就可以了。

2. 驱动更新

https://github.com/jakeday/linux-surface

  1. ubuntu正确安装后,typecover是能正常使用的,但surface pen,触屏什么的都还不能用,这还怎么体现surface的优越性(手动狗头),下面安装一个大牛提供的linux surface kernel,该kernel解决了绝大部分的驱动问题。
  2. 首先连接互联网,要更新系统
sudo apt update
sudo apt upgrade
  1. 然后再输入如下指令
sudo apt install git curl wget sed
git clone --depth 1 https://github.com/jakeday/linux-surface.git ~/linux-surface
cd ~/linux-surface
sudo sh setup.sh

重启即可。我电脑上webcam还是不可用,其他的都能正常工作。

  1. 如果载入新kernel时显示该内核没有签名。那么就麻烦了,如果不在乎系统安全,可以停用security boot。这里,我选择的是自己创造一个签名。
    首先,新建一个文件mokconfigcnf,内容如下
# This definition stops the following lines failing if HOME isn't
# defined.
HOME                    = .
RANDFILE                = $ENV::HOME/.rnd 
[ req ]
distinguished_name      = req_distinguished_name
x509_extensions         = v3
string_mask             = utf8only
prompt                  = no

[ req_distinguished_name ]
countryName             = <YOURcountrycode>
stateOrProvinceName     = <YOURstate>
localityName            = <YOURcity>
0.organizationName      = <YOURorganization>
commonName              = Secure Boot Signing Key
emailAddress            = <YOURemail>

[ v3 ]
subjectKeyIdentifier    = hash
authorityKeyIdentifier  = keyid:always,issuer
basicConstraints        = critical,CA:FALSE
extendedKeyUsage        = codeSigning,1.3.6.1.4.1.311.10.3.6
nsComment               = "OpenSSL Generated Certificate"

注意替换掉自己的相关信息,随意写也可以。
在相同目录下,执行

openssl req -config ./mokconfig.cnf \
        -new -x509 -newkey rsa:2048 \
        -nodes -days 36500 -outform DER \
        -keyout "MOK.priv" \
        -out "MOK.der"
openssl x509 -in MOK.der -inform DER -outform PEM -out MOK.pem
sudo mokutil --import MOK.der 

此步骤会要求设置一个密码,稍后会用到。

重启电脑,系统进入蓝屏而且分辨率感人,依次选择
Enroll MOK ->View Key (确定显示的是你之前编写的签名内容)->Continue->Yes。进入系统,此时签名还没完成。执行

sudo mokutil --list-enrolled

在 /boot/vmlinuz-[KERNEL-VERSION]-surface-linux-surface中确定linux-surface的版本号,替换下面的指令

sudo sbsign --key MOK.priv --cert MOK.pem /boot/vmlinuz-[KERNEL-VERSION]-surface-linux-surface --output /boot/vmlinuz-[KERNEL-VERSION]-surface-linux-surface.signed
sudo cp /boot/initrd.img-[KERNEL-VERSION]-surface-linux-surface{,.signed}
sudo update-grub

再次重启,载入linux-surface kernel。

最后收尾,删除未签名的内核

sudo mv /boot/vmlinuz-[KERNEL-VERSION]-surface-linux-surface{.signed,}
sudo mv /boot/initrd.img-[KERNEL-VERSION]-surface-linux-surface{.signed,}
sudo update-grub

完成。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值