NixOS Installation Guide/zh: Difference between revisions
Created page with "之前的方式是制作USB安装媒介的受支持方式." |
Created page with "* o (dos硬盘标签) * n new * p primary (4 primary in total) * 1 (分区编号[1/4]) * 2048 first sector (alignment for performance) * +500M last sector (引导扇区的大小) * rm signature (Y), if ex. => warning of overwriting existing system, could use wipefs * n * p * 2 * default (填满分区) * default (填满分区) * w (写入)" Tags: Mobile edit Mobile web edit |
||
(61 intermediate revisions by the same user not shown) | |||
Line 25: | Line 25: | ||
== 制作安装媒介 == | == 制作安装媒介 == | ||
从NixOS 14.11开始, 安装程序ISO(镜像文件)是混合的. 这意味着它通过CD和USB驱动器都可以启动. 它也可以在EFI系统上启动, 如大多数现代主板和苹果系统. 接下来的指导将假设复制镜像文件到USB驱动器的标准方式. 当使用CD或者DVD时, 刻录到光盘的通常方式应当也适用于该iso文件. | 从NixOS 14.11开始, 安装程序ISO(镜像文件)是混合型的. 这意味着它通过CD和USB驱动器都可以启动. 它也可以在EFI系统上启动, 如大多数现代主板和苹果系统. 接下来的指导将假设使用复制镜像文件到USB驱动器的标准方式. 当使用CD或者DVD时, 刻录到光盘的通常方式应当也适用于该iso文件. | ||
<span id=""Burning"_to_USB_drive"></span> | <span id=""Burning"_to_USB_drive"></span> | ||
Line 38: | Line 38: | ||
# 复制到设备: <code>cp nixos-xxx.iso <em>/dev/sdX</em></code> | # 复制到设备: <code>cp nixos-xxx.iso <em>/dev/sdX</em></code> | ||
{{note|不要使用 /dev/sdX1 或硬盘的分区, 使用整块硬盘 /dev/sdX}} | {{note|不要使用 /dev/sdX1 或硬盘的分区, 请使用整块硬盘 /dev/sdX}} | ||
也可通过 <code>dd if=nixos.iso of=/dev/sdX bs=4M status=progress conv=fdatasync</code> 写入硬盘镜像 | 也可通过 <code>dd if=nixos.iso of=/dev/sdX bs=4M status=progress conv=fdatasync</code> 写入硬盘镜像 | ||
Line 45: | Line 45: | ||
==== 在macOS上 ==== | ==== 在macOS上 ==== | ||
# 使用<code>diskutil list</code>找到正确的设备, 比如说<code><i>diskX</i></code>. | |||
# | # 使用<code>diskutil unmountDisk <i>diskX</i></code>取消挂载. | ||
# | # 使用<code>sudo dd if=<b>path_to_nixos.iso</b> of=/dev/<i>diskX</i></code>进行刻录 | ||
# | |||
{{tip|使用<code>rdiskX</code>而不是<code>diskX</code>可以大幅改变速度. 你可以在另一个终端里使用<code>iostat 2</code>检查写入速度.}} | |||
{{tip| | |||
<span id="From_Windows"></span> | <span id="From_Windows"></span> | ||
==== 在Windows上==== | ==== 在Windows上==== | ||
# 下载USBwriter. | |||
# | # 启动USBwriter. | ||
# | # 选择下载的ISO文件作为'Source' | ||
# | # 选择USB驱动器作为'Target' | ||
# | # 点击'Write' | ||
# | # 当USBWriter完成写入操作后, 安全拔出USB驱动器 | ||
# | |||
< | <span id="Alternative_installation_media_instructions"></span> | ||
=== | === 可选的安装媒介指导 === | ||
之前的方式是制作USB安装媒介的受支持方式. | 之前的方式是制作USB安装媒介的受支持方式. | ||
这些方式也同样有记录, 它们可以使用USB驱动器启动多个发行版. 这种方式不被支持, 结果可能因人而异. | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
Line 83: | Line 74: | ||
</div> | </div> | ||
== 启动(Boot)安装媒介 == | |||
{{expansion|Troubleshooting steps, and details are lacking.}} | {{expansion|Troubleshooting steps, and details are lacking.}} | ||
因为安装媒介是混合型的, 它通过legacy bios模式和UEFI模式都可以启动. | |||
无论使用哪种方式启动安装媒介, 你可能需要修改主板或者电脑的配置, 以允许从光盘驱动器(对于CD/DVD)或者从一个外部的USB驱动器启动. | |||
< | <span id="Legacy_bios_boot"></span> | ||
=== Legacy bios | === Legacy bios启动 === | ||
这是在没有EFI/UEFI的机器上唯一的启动方式. | |||
< | <span id="UEFI_boot"></span> | ||
=== UEFI | === UEFI启动 === | ||
安装媒介的EFI引导加载程序未经过签名, 也没有使用经过签名的shim来启动. 这意味着只有禁用了Secure Boot(安全启动)才能启动. | |||
< | <span id="Connecting_to_the_internet"></span> | ||
== | == 连接到网络 == | ||
安装过程'''几乎肯定'''需要有效的网络连接. 无网络的安装是可行的, 但是可用的软件包集合是受限的. | |||
< | <span id="Wired"></span> | ||
=== | === 有线网络 === | ||
对于内核提供的网络接口, DHCP(动态主机配置协议)解析应当在shell可用之前就已经完成. | |||
< | <span id="Tethered_(Internet_Sharing)"></span> | ||
== | ==系留式(网络共享)== | ||
如果你无法通过网线或者wifi连接到网络, 你可以使用智能手机的网络共享能力. 依赖于你的手机的能力, 只需要内核自带的驱动就可以提供有效的网络连接. | |||
< | <span id="Wireless"></span> | ||
=== | === 无线网络 === | ||
Network Manager安装在图形界面ISO文件中, 这意味着可以在命令行中使用<code>nmtui</code>来连接到网络. | |||
Network Manager | |||
使用左上方的"Applications(应用)"标签页或者在底部的启动栏, 打开一个终端应用, 在那里启动 <code>nmtui</code>. 这可以让你'activate(激活)'一个(无线)连接 - 你应该可以在列表里看到你那里的SSID(无线网络名称), 除此之外你还可以添加一个新的连接. 当无线连接处于活动状态, 并且你已经测试过了时, 一开始就启动的安装程序很可能还没有检测到新的连接. 关掉安装程序, 再重新从屏幕底部的启动栏打开它. 这时它应该会检测到新的网络连接而继续. | |||
在最小化安装的ISO文件上(或者你更熟悉 <code>wpa_supplicant</code> ), 你也可以运行 <code>wpa_passphrase ESSID | sudo tee /etc/wpa_supplicant.conf</code>, 然后输入你的密码, 再运行<code>systemctl restart wpa_supplicant</code>. | |||
< | <span id="Partitioning"></span> | ||
== Partitioning == | == Partitioning(分区操作) == | ||
为了给连续存储进行分区, 运行 <code>sudo fdisk /dev/diskX</code> , 然后跟着针对DOS或(U)EFI的指示来做. | |||
这里有一个非常简单的示例设置. | |||
=== DOS === | === DOS === | ||
* o (dos硬盘标签) | |||
* o (dos | |||
* n new | * n new | ||
* p primary (4 primary in total) | * p primary (4 primary in total) | ||
* 1 ( | * 1 (分区编号[1/4]) | ||
* 2048 first sector (alignment for performance) | * 2048 first sector (alignment for performance) | ||
* +500M last sector ( | * +500M last sector (引导扇区的大小) | ||
* rm signature (Y), if ex. => warning of overwriting existing system, could use wipefs | * rm signature (Y), if ex. => warning of overwriting existing system, could use wipefs | ||
* n | * n | ||
* p | * p | ||
* 2 | * 2 | ||
* default ( | * default (填满分区) | ||
* default ( | * default (填满分区) | ||
* w ( | * w (写入) | ||
=== UEFI === | === UEFI === | ||
* g (gpt硬盘标签) | |||
* g (gpt | |||
* n | * n | ||
* 1 ( | * 1 (分区编号[1/128]) | ||
* 2048 first sector | * 2048 first sector | ||
* +500M last sector ( | * +500M last sector (引导扇区的大小) | ||
* t | * t | ||
* 1 (EFI | * 1 (EFI系统) | ||
* n | * n | ||
* 2 | * 2 | ||
* default ( | * default (填满分区) | ||
* default ( | * default (填满分区) | ||
* w ( | * w (写入) | ||
< | <span id="Label_partitions"></span> | ||
== Label partitions == | == Label partitions(给分区贴标签) == | ||
这对于有多个分区设置的情况很有用, 使分区更容易处理<syntaxhighlight lang="console"> | |||
$ lsblk | $ lsblk | ||
$ sudo mkfs.fat -F 32 /dev/sdX1 | $ sudo mkfs.fat -F 32 /dev/sdX1 | ||
Line 215: | Line 164: | ||
$ sudo mount /dev/disk/by-label/NIXBOOT /mnt/boot | $ sudo mount /dev/disk/by-label/NIXBOOT /mnt/boot | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Swap文件 == | |||
== Swap | |||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
$ sudo dd if=/dev/zero of=/mnt/.swapfile bs=1024 count=2097152 (2GB size) | $ sudo dd if=/dev/zero of=/mnt/.swapfile bs=1024 count=2097152 (2GB size) | ||
Line 225: | Line 172: | ||
$ sudo swapon /mnt/.swapfile | $ sudo swapon /mnt/.swapfile | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== NixOS配置 == | |||
== NixOS | |||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
$ sudo nixos-generate-config --root /mnt | $ sudo nixos-generate-config --root /mnt | ||
$ cd /mnt/etc/nixos/ | $ cd /mnt/etc/nixos/ | ||
$ sudo vim configuration.nix | $ sudo vim configuration.nix | ||
</syntaxhighlight> | </syntaxhighlight>最重要的修改: | ||
* keyboard layout(键盘布局), 也就是<code>[[Keyboard Layout Customization|services.xserver.xkb.layout]]</code> | |||
* keyboard layout, | * <code>users.users.user</code> 和附加条目 <code>initialPassword = "pw123";</code> | ||
* <code>users.users.user</code> | * [[networking]] (wifi), 如果出现问题, 请见下方的修复方法 | ||
* [[networking]] (wifi), | * <code>boot.loader.grub.device = "/dev/sda"; #或者只用于efi的 "nodev" </code> | ||
* <code>boot.loader.grub.device = "/dev/sda"; # | * 安装编辑器来编辑配置文件 | ||
* | * 修改硬件配置以使用标签 | ||
* | |||
具有自我说明性的NixOS选项可以在[https://search.nixos.org/options NixOS选项搜索]上搜索到. | |||
== NixOS安装 == | |||
== NixOS | |||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
$ cd /mnt | $ cd /mnt | ||
$ sudo nixos-install | $ sudo nixos-install | ||
</syntaxhighlight> | </syntaxhighlight>安装完成后: 运行 <code>passwd</code> 来修改用户的密码. | ||
如果网络出现问题, 请尝试下面的一种方法:<syntaxhighlight lang="console"> | |||
$ nixos-rebuild switch --option substitute false # 无下载 | |||
$ nixos-rebuild switch --option substitute false # | $ nixos-rebuild switch --option binary-caches "" # 无下载 | ||
$ nixos-rebuild switch --option binary-caches "" # | |||
</syntaxhighlight> | </syntaxhighlight> | ||
* | * 设置wpa_supplicant标志来连接到wifi. | ||
<hr /> | <hr /> | ||
< | <span id="Additional_notes_for_specific_hardware"></span> | ||
== | == 有关特定硬件的附加说明 == | ||
这些是有关特定硬件问题的收集到的说明或链接. | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> |