MacMini实现三系统

预备一枚u盘,用于引导启动。
1. 安装rEFInd
2. 安装ubuntu,将指定分区格式化为ex4格式,挂载点为/,引导位置选择安装在当前分区所在硬盘,安装完毕重启即可在rEFInd中找到安装的系统。
3. 安装windows
    首先在另一台电脑上使用ultraISO制作了windows的启动u盘,烧写模式为HDD+,由于windows只能安装在mbr分区中,而这块机械硬盘我使用了GUID Partition Table(GPT分区表),导致进入windows安装页面后找不到有效的分区用于安装。将整个机械硬盘抹掉改为Apple分区图(后来显示为GUID分区表)后,可以通过u盘进入安装界面时创建新分区,不过一旦进行了这个操作,以后在mac磁盘管理中就无法对整块机械硬盘进行修改了,必须切换到windows中进行创建新分区(实测在ubuntu下也可以格式化分区)。
    装好windows后发现缺少各种驱动,典型的就是缺少无线网卡驱动。此时重启按住Alt键进入启动项选择,选择切回macOS,进入启动转换助理(BootCamp),插入一个u盘,选择“从Apple下载最新的Windows支持软件”放到u盘中。之后回到windows系统安装u盘中BootCamp文件夹下的Setup.exe即可补全缺少的驱动。
4. 成果
     这次操作完成了在128G_SSD+1T_HDD的硬盘组合上实现了macOS、windows与ubuntu并存的局面。其中macOS独享128G_SSD,windows与ubuntu各在1T_HDD上占据200G空间,最后留下500多G空间格式化为FAT格式,可以被3个操作系统共享。
已经使用reEFInd引导系统,在128G固态硬盘GUID分区mac(APFS)安装了MacOS,将1T机械硬盘划分为3个部分:macpool(ExFAT)存储文件、BOOTCAMP(NTFS)、Ubuntu(ex4)使用MBR主引导分区。
mac自带启动磁盘界面需要在按下开机按钮后按住alt(option)键进入。
开机进入rEFInd选择系统界面后只有Apple与Ubuntu,找不到Windows引导。
解决方法是使用Ubuntu启动U盘修复Windows引导,并进入本机Ubuntu系统修改grub配置文件。

使用Ventoy制作启动U盘

Ventoy是一个制作可启动U盘的开源工具。有了Ventoy你就无需反复地格式化U盘,你只需要把ISO/WIM/IMG/VHD(x)/EFI文件拷贝到U盘里面就可以启动了,无需其他操作。 你可以一次性拷贝很多个不同类型的ISO文件,在启动时Ventoy会显示一个菜单来选择。无差异支持Legacy BIOS和UEFI模式。支持大部分常见操作系统。
ventoy-1.0.21.zipISOMaker.iso
在虚拟机上使用Ventoy制作的启动U盘,不能简单地将U盘连入虚拟机并设置U盘启动,而是需要在虚拟机中添加一块硬盘,“使用物理硬盘”,选择该U盘,在虚拟机启动时进入BIOS,设置启动顺序为第二块硬盘启动。

rEFInd的安装、美化与卸载

在mac上安装了ubuntu双系统,发现grub无法引导mac,所以使用refind进行引导。
安装rEFInd
只需解压后,cd到该目录执行./refind-install即可,这对ubuntu也适用。
refind.zip
美化rEFInd
需要先下载一个主题,如rEFInd-minimal,git clone https://github.com/EvanPurkhiser/rEFInd-minimal.git
如果在mac下,需要挂载efi分区,挂载完毕可以直接访问该分区。
diskutil list mkdir /Volumes/efi sudo mount -t msdos /dev/disk0s1 /Volumes/efi
如果是ubuntu下,则安装位置在/boot/efi/EFI/refind下。
在refind文件夹下新建一个文件夹themes,将rEFInd-minimal拷贝到themes文件夹下
修改refind文件夹下的refind.conf,在最后(以防被重写)添加include themes/rEFInd-minimal/theme.conf
重启电脑发现并没有起到修改的效果,重新执行一遍refind的安装命令发现起效
但是多了一个refind的图标用于进入原始refind,我希望隐藏这个图标,所以继续挂载efi分区,打开refind.conf,搜索dont_scan_dirs,在这附近加上一句dont_scan_dirs EFI/refind即可
如果遇到多个无关的内核,如Boot Microsoft EFI boot from EFI、Boot Windows(Legacy) from NTFS volumes、Boot Legacy OS from FAT Volume等文字说明,则可以进入refind.conf,在dont_scan_volume一栏写上dont_scan_volume "EFI"、"NTFS"等字样即可。另有说法是选择启动界面时直接delete键删除不想要的启动项即可。
dont_scan_volume "EFI","NTFS"
如果开始引导之后有不美观的提示字符,则修改一下refind.conf文件,找个位置添加如下内容,意思是使用图像界面启动osx,linux,windows,grub这些系统
use_graphics_for osx,linux,windows,grub
rEFInd-minimal.zip
卸载rEFInd
mac下需要挂载refind目录再rm删除。
# 执行检查命令 diskutil list | grep EFI | awk '{print $6}’ # 执行卸载命令 sudo mkdir /Volumes/efi sudo mount -t msdos /dev/disk0s1 /Volumes/efi sudo rm -rfP /Volumes/efi/EFI/refind sudo bless --setBoot --mount /
ubuntu下直接去/boot/efi/EFI删除refind即可。
windows下,使用bootice软件,UEFI菜单 | 修改启动序列,删除refind后保存即可,若想彻底删除,则进入DiskGenius删除ESP文件夹下的refind文件夹。
DiskGenius.zipbootice.zip

名词解释

MBR:
主引导记录(Master Boot Record),位于磁盘LBA0,每个LBA表示一个磁盘逻辑扇区即512B。MBR由三部分组成,分别是446B的引导代码;64B的分区表(DPT);2B的结束代码。简单跟踪一下操作系统的启动过程吧:打开机器电源——BIOS自检——BIOS根据COMS里的设置选择启动磁盘——BIOS复制启动磁盘MBR到内存——MBR的引导代码指向DPT中标记为活动的分区里的分区引导记录PBR——PBR在分区中找到操作系统的引导程序——系统被引导。由于MBR的分区表只有64B,所以能记录的主分区只有4个,每个分区用16B去记录分区类型,起始扇区,总扇区数,其中里面有4B是记录分区使用的总扇区数,对于使用512B作扇区的硬盘,4B就能记录4,294,967,296个扇区,即2TB左右。
分区表:
DPT即分区表。这个表记录着每个分区的位置和大小。很多人都有个错误概念,就是把一个分区的硬盘说成是没有分区。分区变成了复数分区的代名词。硬盘是先要有分区,再有文件系统才能读写数据的。
MBR里的分区表只能记录4个主分区。但是win有一种叫做扩展分区的玩意。在win的磁盘里只能有一个扩展分区或者没有。这个扩展分区的作用就能保存一个指向下一个逻辑分区的分区表。而逻辑分区又可以保存指向下一个逻辑分区的分区表。但这种分区非常不稳定,不宜保存重要数据。
分区:
每个硬盘都需要分区(动词),不分区是无法使用的。分区(名词)也叫做卷,为了避免这里把分区二字作动词或名词理解,我这里把分区(动词)保持不变,用卷来表示它的名词。在win里我们的习惯思维是C盘,D盘,E盘什么盘的,这个盘也就是卷了。在OS X里的卷是没有盘符的,只有一个绝对的名字和卷名字。OS X里的分区的绝对名字是disk0s1,disk0s2,disk0s3等,其中disk0是指整个硬盘,而且是Mac的第一个硬盘。UNIX所有的设备都在/dev这个目录下面,也就是说第一个磁盘的位置是/dev/disk0。每个分区都需要挂载才能使用的,那么就需要一个位置去挂载分区了,这个位置是/volumes,而第一个磁盘第一个分区的位置是/volumes/disk0s1。卷名字就是用户自定义的名称了,根据卷的文件系统不同名字支持的字符也不同,例如FAT貌似只能用大写字母。
GUID分区表:
GUID分区表即是GPT(GUID Partition Table),由于MBR里的DPT存在局限性,所以GPT应运而生。GPT磁盘的LBA0是保存着一个 Protect MBR的,这个扇区只保存着一个特殊分区类型和结束代码。当操作系统检查到这个 Protect MBR后是会直接忽略掉的。如果这个操作系统无法认出GPT磁盘,那么只会把整个磁盘标记为一个未知分区。
在LBA0之后的LBA1记录着GPT的头,GPT的头记录着自己和下面的分区表起始扇区和结束扇区,还有一份在LBA-1~LBA-34的GPT备份记录。
LBA2开始就是分区表了,这个分区表有足够的空间记录分区的总扇区,而且最大能创建超过128个主分区。
BIOS是没有办法引导装在GPT磁盘上的操作系统的,必须要是EFI才能引导。引导过程是这样的,开机EFI完成自检——启动boot option menu启动菜单中第一个项目中的引导程序——引导操作系统。
大多数的操作系统都可以读写GPT磁盘的,但是与能用GPT引导是另一回事。
不同操作系统使用GPT的情况都是不同的,Mac在创建GPT磁盘时都会在LBA40扇区开始分209MB出来作为EFI系统分区。微软则会有一个LBA2048开始的100MB EFI系统分区和128MB的MSR保留分区。
文件系统:
分区表是记录着硬盘分区的大小和位置的,每个分区都需要有一个文件系统,不然无法写入数据。文件系统就像是在分区里的目录,这个目录记录着文件的大小和位置。文件系统是根据单元来储存文件的,单元也叫做簇,每个单元由一组扇区组成的,例如NTFS可将单元设定为4KB即8个扇区大小。假设4KB一个单元的文件系统要储存一个5KB的文件,那么就要使用两个单元来存储这个文件了,而且第二个单元闲置的3KB无法使用。大的单元读写的速度较快但是占用空间较大,小的单元比较节省空间,但是读写慢。
删除文件其实只是把文件系统目录里相应的项目标记为空项,下次同一个位置写入文件的时候则直接复写或删写(机械磁盘是复写,固态硬盘是删除后再写)。对某个分区进行快速格式化也是一个道理,把文件系统删除,然后写入新的文件系统,这个新的文件系统将分区内所有扇区都标为空项,实际磁盘上的数据还是存在的,只是很难提取而已。
常见的文件系统有:Fat,NTFS,HFS+,exFAT。一般说某某格式的分区是其实就是说使用了某个文件系统的分区。
如果把磁盘当成是一个图书馆的话,分区表就是记录每个书架的位置,分类,大小的目录;分区就是一个一个的书架;文件系统就是书架的目录,记录着书架上放了那些书,放在哪里,这本书有多少内容。
EFI系统分区:
一般用OS X的磁盘工具创建一个GUID分区表磁盘后,系统都会创建一个209MB的隐藏系统分区,这个分区是要来保存引导程序,一些驱动什么的。这个分区的位置是从LBA40开始到LBA409639结束。而在win里看到的GPT保护分区是从LBA1开始到LBA409639结束,如果把这个GPT保护分区删除了的话,那么OS X将不能被引导。因为LBA1实际上是记录着GPT的头,LBA2往后到LBA39是记录着分区表。。EFI分区是使用Fat32文件系统的。
在win里看到EFI系统分区的话就证明这个磁盘是GPT的;如果看到的是GPT保护分区,那么这个磁盘是混合分区表的。EFI系统分区和GPT保护分区是存在区别的,前者的磁盘是纯GPT的,后者是混合分区表磁盘。
混合分区表:
GPT硬盘里的MBR扇区(LBA0)只记录着一个特殊的分区和结束代码。装在上面的系统是无法用BIOS引导的。OS X能创建一种叫做混合分区表的磁盘,就是这个硬盘可以同时使用MBR分区表和GUID分区表。根据启动的方式来选择分区表。
当OS X的磁盘工具在GPT磁盘上创建一个Fat32分区后,混合分区表会被创建,磁盘LBA1——LBA409639会被写入MBR分区表里作为第一个分区,标识为GPT保护分区,然后根据GUID分区表的项目分区别复制到MBR分区表,直到MBR分区表里的分区达到4个。当BootCamp模拟BIOS启动后就会加载这个MBR到内存。
win自带的磁盘工具是无法对混合分区进行管理的,所以别做任何无意义的尝试。
OS X里有一个叫做gdisk的磁盘工具可以对GPT,混合分区表的磁盘进行管理,可以下载一个来学习一下使用,如备份分区表,恢复分区表之类的。
当win插入一个混合分区表的磁盘时(非系统盘),第一个分区会是“”GPT保护分区“,这个分区保护着GPT的头和分区表。而当win的安装程序遇到混合分区表磁盘时它会优先使用MBR分区表,即使你用的是EFI启动的win安装程序。
GPT保护分区:
很多人将EFI系统分区和GPT保护分区搞混了。最简单的理解方式是,EFI系统分区是GPT磁盘的标志,GPT保护分区是混合分区表磁盘的标志。GPT磁盘的LBA0即MBR扇区记录着一个未知分区格式让不能读写GPT磁盘的操作系统不能识别,从而起到保护作用,一般这个扇区也叫做MBR protect。LBA1是GPT磁盘的头,LBA2开始是GPT磁盘的分区表。创建混合分区表实际上是为GPT磁盘创建MBR分区表,系统先将LBA1-LBA409639包含的扇区记录在MBR分区表的第一个位置上,这些扇区覆盖了GUID分区表和EFI系统分区。win是无法挂载这个GPT保护分区的,而且也无法对这个分区进行对写,从而起到保护作用。之所以叫做GPT保护分区,因为它保护着磁盘上的GUID分区表。
BootCamp:
BootCamp这个工具的作用就是在EFI里写入相应的信息来模拟BIOS。这些信息是储存在NVRAM里的,这个NVRAM类似是BIOS使用的COMS,它记录着一些变量。
EFI本来是可以用兼容模式来启动MBR磁盘里的操作系统的,这就是为什么直接将win的安装U盘插上Mac都能引导的原因。但是本质上是与BootCamp模拟的BIOS有点区别,具体可能是在一些驱动上。例如13年Air在用BootCamp安装集成驱动的win7时是可以解决鼠标触摸板失灵的现象的,但是直接用EFI兼容模式引导的话就不行。我想现在苹果没有适合新Air的BootCamp工具,所以想双系统的不妨等等。
当在win里装好BootCamp工具包以后,使用这个工具包就能对主板的NVRAM进行修改了。这样就能从win重启到OS X了。
值得注意的是安装了EFI启动的win8后是不能从OS X重启到win的。原因我上面说了,因为BootCamp实际上是改写NVRAM让Mac始终以模拟BIOS方式启动,但是EFI启动的win8无法在模拟BIOS上引导,所以就这样了。
其实使用BootCamp助手和不使用BootCamp助手来装win最好都是一样的,区别大概只有安装过程。不用BootCamp助手安装的话大概一些设备会无法使用或有BUG什么的,由于没有经过BootCamp对NVRAM进修修改,所以每次重启都是默认EFI启动的,也就是每次都会重启到OS X,必须要手动切换Boot Option Menu。但是安装了BootCamp驱动以后,都一样了。
假设不同版本的BootCamp模拟的BIOS都有区别的话,那么启动win时或许会有区别,至于驱动应该影响不大,因为现在win应该都是直接绕过BIOS控制硬件的。如果OS X下的BootCamp版本与win里的不同,那么分别使用各自的重启到win选项也许会有不同。这条有待验证。

Ubuntu分区挂载点介绍

/boot 启动分区,一般设置100M-200M,boot目录包含了操作系统的内核和在启动系统过程中所要用到的文件。
/ 根分区,所有未指定挂载点的目录都会放到这个挂载点下。
/home 用户目录,一般每个用户100M左右。
/tmp 临时文件,一般设置1-5G,方便加载ISO镜像文件使用,对于多用户系统或者网络服务器来也有独立挂载的必要。临时文件目录,也是最常出现问题的目录之一。
/usr 文件系统,一般设置要3-15G,大部分的用户安装的软件程序都在这里。就像是Windows目录和Program Files目录。
/var 可变数据目录,包含系统运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化的,系统日志记录也在/var/log下。一般多用户系统或者网络服务器要建立这个分区,设立这个分区,对系统日志的维护很有帮助。一般设置2-3G大小,也可以把硬盘余下空间全部分为var。
/srv 系统服务目录,用来存放service服务启动所需的文件资料目录,不常改变。
/opt 附加应用程序,存放可选的安装文件,个人一般把自己下载的软件资料存在里面,比如Office、QQ等等。
swap 交换分区,一般为内存2倍,最大指定2G即可
一般来讲Linux系统最少的挂载点有两个一个是根挂载点/,另一个是swap,虽然swap也可以采用其他方式类似方式替代,但从使用角度,个人认为没这个必要,把swap单独设置一个挂载点似乎对Linux系统的标准性更好支持。

使用Ubuntu启动U盘修复引导

由于修复引导的程序需要存储在外部存储器中,所以使用U盘启动盘来修复引导。
1.制作ubuntu启动u盘,在启动时选择"试用ubuntu"
2.在终端输入sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
3.完成上一步后输入sudo apt-get install -y boot-repair && boot-repair
4.按照提示进行修复

修改grub默认启动项及隐藏grub界面

如果选择使用grub引导系统,可以通过修改grub配置文件自定义引导界面。
sudo gedit /etc/default/grub
GRUB_DEFAULT=0即为默认启动第一项
GRUB_TIMEOUT=0.01即可快速略过grub界面,效果等于隐藏
设置完毕后update-grub

Ubuntu无线网卡驱动

使用MacMini安装Ubuntu精简版时或是使用启动U盘进入精简版Ubuntu系统时,无线网卡驱动没有安装。临时使用网络可以用iphone的移动热点以USB方式连接到主机上,以安装无线网卡驱动。
注意:一定要使用原始源,执行下面的命令,因为对于某些特殊的网卡驱动只有用原始源才会好使。
sudo apt-get update更新软件源
sudo apt install broadcom-sta-dkms
会提示有未能满足的依赖关系执行下面命令
sudo apt --fix-broken install
成功安装wifi驱动,然后重启下电脑,在设置中连接wifi。

HIT正版软件下载与激活

windows与office正版下载与激活
1. 安装正版软件管理与服务平台
2. 安装EasyConnect
3. 打开EasyConnect,服务器地址输入 ivpn.hit.edu.cn
4. 等待EasyConnect更新,完毕后输入HIT统一身份认证账号密码即可开启VPN
GP(hit)-3.0.4.2.exeEasyConnectInstaller.exe

神舟笔记本电脑杂症汇集

虚拟机安装win7

看似简单的win7安装,使用HIT软件中心的iso安装包均出现“windows无法安装所需文件0x80070570”,网解为使用HDD-ZIP形式写入U盘制作启动盘,而手边的启动U盘无法被虚拟机识别。
后来下载了番茄花园家的GHOST_WIN7_X86.iso,使用虚拟光盘启动,高级设置为IDE。使用GHOST,
其实虚拟机应当使用硬盘IDE0形式挂载,番茄花园问题重大,简直全是毒,感觉好好保存一下自己的虚拟机好了。