在U盘上安装Ubuntu

在部署Linux from Stratch时,考虑到在只有64GB磁盘空间的MacBook Air上安装LFS,磁盘空间有限,所以决定把编译LFS的host系统(采用Ubuntu)安装到U盘上。

安装Ubuntu Budgie

Ubuntu Budgie是一个Ubuntu flavours版本,结合了Budgie Desktop的发行版。

创建Ubuntu HDD磁盘的ESP(EFI System Partition)

在使用UEFI的硬盘必须具有一个ESP(EFI System Partition)才能启动操作系统。ESP是一个具有特殊标记的FAT32分区,告诉EFI BIOS检查这个分区的启动信息。在安装过程中,最重要的一步就是创建ESP:

  • 使用 gparted 进行分区,创建的第一个分区200Mb,设置文件系统是 fat32,然后将这个分区设置上 bootesp 标记,这样EFI BIOS可以使用这个特殊分区。

Ubuntu Budgie安装过程的分区类型设置,其中有一项设置类型就是 ESP ,务必将U盘的第一个分区设置成ESP,这样才能确保在使用EFI系统的Apple MacBook Air上启动系统。

参考 Install Ubuntu Budgie 18.04 安装。如果要在常规的Ubuntu系统上安装Budgie Desktop则参考 How To Install Budgie Desktop 10.4 On Ubuntu 16.04, 17.04, 17.10?

Nvidia驱动导致无法登陆图形桌面的解决方法

MacBook Air 2010 later版本硬件使用了Nvdia 驱动,这样图形界面登陆失败,解决方法是安装Nvidia 390驱动

请参考我在MacBook Pro上运行Ubuntu 18.10安装NVIDIA驱动,主要为了解决笔记本电脑Hibernate时候图形桌面冻结问题。

默认安装的 nvidia-current 可能会安装错误的驱动,所以需要搜索实际视频卡的最新兼容驱动,即使用 sudo apt-cache search nvidia-[0-9]+$ 找到可用软件包,然后手工安装:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt-cache search nvidia-[0-9]+$
sudo apt install nvidia-390

请参考 How to Install NVIDIA 390.25 in Ubuntu 17.10, 18.04 ,或者参考 How To Install The Latest Nvidia Drivers In Ubuntu or Linux Mint Via PPA

另外 How to install the NVIDIA drivers on Ubuntu 18.04 Bionic Beaver Linux 详细介绍了安装Nvidia驱动的各种方法。其中介绍了 graphics-drivers 这个PPA仓库是使用unstalbe系统的beta版本Nvdia驱动

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
ubuntu-drivers devices
sudo ubuntu-drivers autoinstall

ubuntu-drivers devices可以显示出当前驱动:

== /sys/devices/pci0000:00/0000:00:17.0/0000:02:00.0 ==
modalias : pci:v000010DEd000008A2sv0000106Bsd000000D4bc03sc00i00
vendor   : NVIDIA Corporation
model    : MCP89 [GeForce 320M]
driver   : nvidia-304 - third-party free
driver   : nvidia-340 - distro non-free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin

== /sys/devices/pci0000:00/0000:00:15.0/0000:01:00.0 ==
modalias : pci:v000014E4d00004353sv0000106Bsd000000D1bc02sc80i00
vendor   : Broadcom Limited
model    : BCM43224 802.11a/b/g/n (AirPort Extreme)
driver   : bcmwl-kernel-source - distro non-free

sudo ubuntu-drivers autoinstall 会自动安装推荐的驱动,也技术

最后一行命令也可以修改成指定安装驱动版本

sudo apt install nvidia-340

悲剧了:升级了beta版本的nvdia驱动,现在启动后黑屏...

参考 Ubuntu 18.04 on Macbook Air 13 (2010) - SOLVED 可能需要关闭开源驱动的nodemode功能

不过,Nvidia 的官方驱动 Linux x64 (AMD64/EM64T) Display Driver Version: 340.107 就是版本 nvdia-340 ,看上去就是默认安装版本。

针对MacBook Pro的Budgie调整(可选)

Ubuntu Budgie可以在MacBook Pro上非常顺畅运行,不过,针对MacBook Pro硬件(Retina屏幕)有一些调整建议:

  • 默认安装采用了整体放到200%方式( Perferences > Displays > Scale )来避免Retian屏幕字体过小的问题,这种设置对眼睛确实比较舒适,不过也带来了可视内容减少的问题。我改为 100% ,即原始屏幕分辨率。此时字体会过小,但是窗口(包括Titlle等)会比较合适

    • 如果使用 Synergy 像我一样把第二块屏幕置于上方较远距离,则:

      • 默认的放到 200% 非常合适用于阅读文档,甚至可以再将默认字体调小2号

      • firefox显示是独立调整的,建议放大到 200%

  • 默认Budgie Theme是 Pocillo ,是浅色菜单,由于现在比较倾向于Dark模式来保护视力,所以选择安装 Arc Design 黑暗模式Theme ( System Tools > Budgie Themes > Arc Design

  • 默认字体在100%的scale模式下会显示过小,所以调整字体( System Tools > Budgie Desktop Settings > Fonts

    • Monospace - Ubuntu Mono Regular 13 调整为 16

    • Interface - Ubuntu Regular 11 调整为 13

    • Documents - Sans Regular 11 调整为 13

    • Window Titles - Ubuntu Bold 11 调整为 13

之前的失败尝试

之前尝试了几次,包括在笔记本上插2个U盘,其中一个U盘采用dd命令将ISO文件写入作为Live-CD,启动后将操作系统安装到另外一个U盘。但是,没有想到,MacBook Air启动时按下option键并没有看到安装后的Ubuntu磁盘。

参考Making a portable full installation of Ubuntu on a USB HDD,我发现原因是MacBook使用了EFI启动,如果不在U盘上设置一个ESP分区,就会导致无法使用U盘启动。

具体操作

操作需要2个U盘,一个是LiveCD磁盘,一个是安装目标磁盘。这两个磁盘都在MacOS操作系统中格式成FAT文件格式,磁盘分区表类型MBR。这步操作是为了生成标准的DOS分区,实际在Liunx下也能操作。

对LiveCD的U盘操作

使用dd命令创建LiveCD启动U盘(实际操作)

sudo dd bs=4M if=xubuntu-16.04.3-desktop-amd64.iso of=/dev/sdb

使用UNetbooin创建LiveCD启动U盘(可选方法)

  • 首先将U盘格式化成FAT32文件系统,然后挂载到/mnt目录(这是 UNetbootin 的使用要求)

sudo mount /dev/sdb1 /mnt
  • 使用UNetbootin选择安装ISO镜像,写入到上述FAT32分区中。

sudo QT_X11_NO_MITSHM=1 /usr/bin/unetbootin

注意:这个LiveCD磁盘识别成sdb

对于Windows 8预装主机需要关闭fast startupsecure boot(未验证)

secure boot时UEFI的一个安全功能,只从已经在UEFI firmware中签名的boot loader启动,这样可以避免rootkit malware以及提供一个附加安全层。

注意:对于预装了Windows 8的主机,必须要关闭fast startupsecure boot功能

Control Panel > Hardware and Sound > Power Options > System Settings > 选择d电源按钮,去除fast startup选项。

关闭secure boot则参考How To Disable UEFI Secure Boot In Windows 8 & 8.1

对目标安装U盘分处理

  • 启动LiveCD,再使用GParted工具直接删除目标U盘(sdc)的FAT32分区,这样可以空出完整的U盘用于安装Ubuntu。

安装操作系统Ubuntu

  • 选择安装类型时一定要选择Something else,这样就可以选择分区表:

  • 重要:分区一定要按照以下规则:

    • 一个FAT32(或FAT16)分区(必须)

      • 必须是/dev/sdX1

      • 挂载点时/NAME_HERE(在案例中是/UDISK

      • 设置成内存相同大小,用于存放普通数据

      • 其他选项默认即可

    • 一个EXT4文件系统用于安装Ubuntu(必须)

      • 挂载点/

      • 设置足够安装系统的空间大小(通常10G应该足够安装操作系统及常用软件)

    • swap分区(可选)

      • 如果你的主机内存足够大并且不许要使用hibernate可以不使用swap

  • 最重要的一点是将boot-loader安装到USB flash驱动器/dev/sdc上,这样才能够在启动时选择该磁盘。

注意:在MacBook笔记本上安装需要使用64位版本的Ubuntu,如果需要安装broadcom驱动,参考 http://askubuntu.com/questions/626642/how-to-install-broadcom-wireless-drivers-offline

How to Install The Real Ubuntu System on USB Flash Drive的读者留言中Valter Fukuoka介绍了使用2个甚至3个U盘来构建RAID0安装Ubuntu,可以使得程序启动加速。另外,有用户报告Mac使用这种方式无法找到启动U盘,但也有报告成功的。

参考

Last updated