![如何制作 Ubuntu 16.04 的持久实时 USB?](https://linux22.com/image/881992/%E5%A6%82%E4%BD%95%E5%88%B6%E4%BD%9C%20Ubuntu%2016.04%20%E7%9A%84%E6%8C%81%E4%B9%85%E5%AE%9E%E6%97%B6%20USB%EF%BC%9F.png)
我需要 Ubuntu 16.04 版,因为我需要恢复我整个 16.04 版加密硬盘,正如帖子中讨论的那样如何在 16.04 加密硬盘中将自己重新添加至 sudo 组? 我在这里创建了一个新的持久 Live Ubuntu 16.04,其中有一些错误在最后描述:视频直播。
sudo apt-get install gksu debootstrap
gksudo gparted
. 制作ext4
仅留 1GB 作为可用内存的 USB,并将 1GB 设置为 Linux Swap;管理标志 > onlyboot
。准备操作系统并在 USB 驱动器中运行
sudo mkdir /mnt/stick sudo mount /dev/sdb1 /mnt/stick/ sudo debootstrap --arch=amd64 xenial /mnt/stick http://de.archive.ubuntu.com/ubuntu/ sudo mount -o bind /dev /mnt/stick/dev sudo mount -o bind /dev/pts /mnt/stick/dev/pts sudo mount -t sysfs /sys /mnt/stick/sys sudo mount -t proc /proc /mnt/stick/proc sudo cp /proc/mounts /mnt/stick/etc/mtab sudo cp /etc/resolv.conf /mnt/stick/etc/resolv.conf sudo chroot /mnt/stick/
提示看起来像
root@masi-CM6340:/#
。设置语言环境。%locale-gen en_US en_US.UTF-8 %dpkg-reconfigure locale dpkg-rekonfigure locales % two above commands cause a bug in gnome-terminal; choose here your locales and set environment en_US.UTF-8 dpkg-reconfigure keyboard-configuration localedef -i en_US -c -f UTF-8 en_US.UTF-8
apt-get install linux-image-generic
。你得到/dev/sda [NotThisOne, your HDD], 2 /dev/sdb (31474 MB; ???) 2b - /dev/sdb1 (30398 MB; /)
。选择/dev/sdb1
并/dev/sdb
。在这里选择你喜欢的 Linux 内核。我保留最稳定的 Linux 内核 4.6,你可以按照正文末尾的说明下载。apt-get install vim wget
blkid
,复制到剪贴板,vim /etc/fstab
。删除sda
行,只剩两sdb
行。编辑它们以使其喜欢UUID="..." swap swap defaulst 0 0
和UUID="..." / ext4 defaults 0 1
。将以下内容粘贴到文件中
/etc/apt/sources.list
#deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://de.archive.ubuntu.com/ubuntu/ xenial main restricted # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb http://de.archive.ubuntu.com/ubuntu/ xenial-updates main restricted # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-updates main restricted ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## universe WILL NOT receive any review or updates from the Ubuntu security ## team. deb http://de.archive.ubuntu.com/ubuntu/ xenial universe # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial universe deb http://de.archive.ubuntu.com/ubuntu/ xenial-updates universe # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-updates universe ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## multiverse WILL NOT receive any review or updates from the Ubuntu ## security team. deb http://de.archive.ubuntu.com/ubuntu/ xenial multiverse # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial multiverse deb http://de.archive.ubuntu.com/ubuntu/ xenial-updates multiverse # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-updates multiverse ## N.B. software from this repository may not have been tested as ## extensively as that contained in the main release, although it includes ## newer versions of some applications which may provide useful features. ## Also, please note that software in backports WILL NOT receive any review ## or updates from the Ubuntu security team. deb http://de.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse # deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse ## Uncomment the following two lines to add software from Canonical's ## 'partner' repository. ## This software is not part of Ubuntu, but is offered by Canonical and the ## respective vendors as a service to Ubuntu users. deb http://archive.canonical.com/ubuntu xenial partner deb-src http://archive.canonical.com/ubuntu xenial partner deb http://security.ubuntu.com/ubuntu xenial-security main restricted # deb-src http://security.ubuntu.com/ubuntu xenial-security main restricted deb http://security.ubuntu.com/ubuntu xenial-security universe # deb-src http://security.ubuntu.com/ubuntu xenial-security universe deb http://security.ubuntu.com/ubuntu xenial-security multiverse # deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse
做
dpkg-divert --local --rename --add /sbin/initctl ln -s /bin/true /sbin/initctl apt-get update % Comment this out if ubuntu-desktop is wanted apt-get install ubuntu-desktop % Comment out if ubuntu-server is wanted % apt-get install ubuntu-server adduser --home /home/masi masi
将可以省略的添加
masi
到现有组中。usermod -aG adm,cdrom,sudo,dip,plugdev,lpadmin,sambashare masi
sambashare
忽略驱动程序,因为 USB 驱动器不是为一台 PC 制造的。
apt-get ecryptfs-utils schroot testdisk
为了恢复加密的硬盘,请安装用于准备光盘的软件包testdisk
和另外两个用于恢复加密的 Ubuntu 16.04 的整个光盘的软件包。sudo echo 'GRUB_DISABLE_OS_PROBER="true"' >> /etc/default/grub
;update-grub
完成安装。
rm /sbin/initctl dpkg-divert --local --rename --remove /sbin/initctl
测试持久实时 Ubuntu 16.04 [alpha] 的安装
启动新的持久 Ubuntu。在终端中,执行
sudo true
。如果出现Unable to resolve host * Connection refused
,请执行# https://askubuntu.com/q/59458/25388 sudo vim /etc/hostname masi sudo vim /etc/hosts 127.0.0.1 localhost.localdomain masi [...]
可能出现的并发症:Ubuntu 在 $(inittramfs)$ 中启动。请执行...
结果:USB 启动 Ubuntu 桌面 GUI 和 UI
- 您可以打开 LibreOffice、Firefox、...
masi
在 sudo 组中;组正确。- 正确设置何时
chroot
坚持的区域。 - 如果 gnome-terminal 中存在错误(即在 GUI 中打开它),请
sudo dpkg-rekonfigure locales
在 TTY1 中重试。这样可以解决问题。
向 Videonauth 报告的错误
在进行测试时始终更新和升级系统:sudo apt-get update && sudo apt-get upgrade
。
- Ubuntu 的互联网浏览器。启动它会导致系统崩溃。鼠标只能工作,但无法向 TTY 发送信号。
- Firefox。启动时会显示有关 [配置文件存在] 的警告,因此无法打开。
rm -r ~/.mozilla && rm -r ./.cache/mozilla
仅针对一个会话的临时修复。每次登录时都会出现此问题。更好的修复方法:sudo mv -v /home/masi /home/masi_backup
、sudo mkdir -v /home/masi
、sudo chown masi:masi /home/masi
和sudo chmod 755 /home/masi
因为sudo reboot
某些主文件夹所有权会导致此错误。运行命令来源你会得到以下差异 /etc/hostname
/etc/hosts
一段时间后匹配失败- 有时,启动
(inittramsfs)
输出vimdiff <(find /home/masi -printf "%P %u:%g %m\n" | sort) <(find /home/masi_backup -printf "%P %u:%g %m\n" | sort)
%LHS-file
.bash_history masi:masi 600
.cache/compizconfig-1/animation.pb masi:masi 664
.cache/compizconfig-1/commands.pb masi:masi 664
.cache/compizconfig-1/compiztoolbox.pb masi:masi 664
% here many files not existing in the RHS
%RHS-file (fresh installation)
.bash_history root:root 600
.bash_logout masi:masi 664
.bashrc masi:masi 644
.cache root:root 700
我不明白哪个导致了这个错误。
升级到 Linux 内核 4.6
按指示做这里。Linux 内核 4.4 中有一个与恢复/暂停有关的通用错误。升级到 4.6 可解决该问题并使系统变得更好。
系统:14.04、16.04
Linux内核:4.4 - 4.6
答案1
要在 USB 或外部硬盘上完成 Ubuntu 的正常安装,您可以按照我在此处描述的步骤进行操作。
您要先进行一些准备安装,您需要gksudo
软件包中的gksu
、schroot
和debootstrap
。这些软件包默认情况下不会安装,因此请在终端中输入 ( ctrl++ alt) t:
sudo apt-get install gksu debootstrap schroot
现在您可以通过以下方式开始准备 USB/HDD 进行安装:
gksudo gparted
首先,您需要进入devices
菜单并选择create partition table
,当系统要求您输入类型时,请选择msdos
。现在您应该会看到一个未分配空间条目。单击它并选择新建并将其设置为 ext4,只留下 1GB 作为可用内存,然后再次单击未分配空间条目并将其设置为 1GB 作为 Linux Swap。之后,您将设置应用于 USB/HDD。然后右键单击 ext4 条目并选择,manage flags
然后勾选boot
并离开。
现在您需要chroot
通过逐一执行以下命令来准备好工作环境:
sudo mkdir /mnt/stick
sudo mount /dev/sdb1 /mnt/stick/
sudo debootstrap --arch=amd64 xenial /mnt/stick http://archive.ubuntu.com/ubuntu/
sudo mount -o bind /dev /mnt/stick/dev
sudo mount -o bind /dev/pts /mnt/stick/dev/pts
sudo mount -t sysfs /sys /mnt/stick/sys
sudo mount -t proc /proc /mnt/stick/proc
sudo cp /proc/mounts /mnt/stick/etc/mtab
sudo cp /etc/resolv.conf /mnt/stick/etc/resolv.conf
sudo chroot /mnt/stick/
你的提示现在看起来应该是这样的:
root@HOSTNAME:/#
现在您可以开始真正的安装过程,首先设置设置locale
并keyboard-configuration
安装内核。
locale-gen en_US.UTF-8
dpkg-reconfigure locale
dpkg-reconfigure keyboard-configuration
localedef -i en_US -c -f UTF-8 en_US.UTF-8
apt-get install linux-image-generic
当此安装GRUB
询问您要为哪个设备安装时,您将看到如下选择:
[ ]/dev/sda [NotThisOne, this is your HDD]
[ ]/dev/sdb (31474 MB; ???)
[ ]/dev/sdb1 (30398 MB; /)
选择/dev/sdb1
并/dev/sdb
使用箭头键移动到相应字段并按下,space最后按回车键。现在,安装完成后,您可以安装您选择的编辑器,我在这里作为nano
示例vim
:
apt-get install nano vim
现在您可以编辑/etc/fstab
文件,首先通过以下方式获取系统中的 UUID 列表:
blkid
这应该会给你如下输出:
/dev/sda1: UUID="8f8f130f-e127-43b6-b797-8bfa3f1e1631" TYPE="ext4" PARTUUID="06bd4abe-01"
/dev/sda5: UUID="8469c58b-b2bb-4551-b47d-c1a7d21e9ebd" TYPE="swap" PARTUUID="06bd4abe-05"
/dev/sdb1: UUID="b08ab271-5619-479c-aa21-8aea7f4e6f3b" TYPE="ext4" PARTUUID="5872a1f8-01"
/dev/sdb2: UUID="c3309cee-731e-4030-93b9-f1d88c12c806" TYPE="swap" PARTUUID="5872a1f8-02"
为了更方便地进行编辑,您可以通过用鼠标选择终端输出并按ctrl+ shift+来复制它c,然后通过键入来打开您选择的编辑器(例如,我在这里选择 nano):
nano /etc/fstab
ctrl您可以在按+ shift+清除文件内容后粘贴这些行c。现在删除最有可能是您的 HDD 的标有 的行/dev/sda
,并更改其他两行,使它们最终看起来像这样:
UUID=18055918-6045-42e9-9492-66e3fd29c199 swap swap defaults 0 0
UUID=69b5fb9c-774d-4d35-82f2-6a17faa446a1 / ext4 defaults 0 1
然后按ctrl+x结束编辑,选择y
保存并点击enter
接下来您需要填写您的/etc/apt/sources.list
,您可以复制并粘贴以下块到您的终端并点击enter一次。
cat > /etc/apt/sources.list << "EOF"
deb http://archive.ubuntu.com/ubuntu/ xenial main restricted
deb http://archive.ubuntu.com/ubuntu/ xenial-updates main restricted
deb http://archive.ubuntu.com/ubuntu/ xenial universe
deb http://archive.ubuntu.com/ubuntu/ xenial-updates universe
deb http://archive.ubuntu.com/ubuntu/ xenial multiverse
deb http://archive.ubuntu.com/ubuntu/ xenial-updates multiverse
deb http://archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://security.ubuntu.com/ubuntu xenial-security main restricted
deb http://security.ubuntu.com/ubuntu xenial-security universe
deb http://security.ubuntu.com/ubuntu xenial-security multiverse
EOF
至于必须安装的最终配置包需要通过 Upstart 启动服务,必须暂时禁用这些服务chroot
:
dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl
现在运行更新,只要您在桌面之前安装服务器,您就可以安装其中一个ubuntu-server
或两个,甚至两者。ubuntu-desktop
apt-get update
# Comment this out if ubuntu-desktop is not wanted
apt-get install ubuntu-desktop
# remove comment if ubuntu-server is wanted
# apt-get install ubuntu-server
最后添加您的用户并将他放入适当的组中:
adduser --home /home/<username> <username>
usermod -aG adm,cdrom,sudo,dip,plugdev,lpadmin,sambashare <username>
如果出现错误,您可以忽略 sambashare。通过以下方法检查组设置是否正确:
less /etc/group
您应该看到上面usermod
命令中列出的每个组和条目如下(例如 sudo):
sudo:x:27:<username>
如果没有,请使用上述命令逐个添加组usermod
。现在是时候安装驱动程序和有用的工具了,我在这里仅列出一些您所需的。
apt-get ecryptfs-utils testdisk schroot
要使 GRUB 仅将您的记忆棒识别为操作系统,而不添加您在其上构建记忆棒的系统,请执行以下操作:
echo 'GRUB_DISABLE_OS_PROBER="true"' >> /etc/default/grub
update-grub
通过以下方式完成安装:
rm /sbin/initctl
dpkg-divert --local --rename --remove /sbin/initctl
现在,您可以重新启动 USB,并拥有一个完全安装好的 Ubuntu 系统。如果您遇到无法启动终端的麻烦(这似乎与中的错误有关),您可以在 TTY( ++并使用您的用户名和密码登录)gnome-terminal
中检查其内容是否包含如下行:ctrlaltf1/var/log/syslog
May 7 22:30:00 NEXUS-TWO org.gnome.Terminal[1432]: Non UTF-8 locale (ISO-8859-1) is not supported!
要修复此问题,似乎只需sudo dpkg-reconfigure locales
在 TTY 中执行并明确选择 UTF-8 即可。或者在 GUI 设置中设置语言等。然后重新启动。
答案2
以下是一些详细信息。(其他人应该撰写有关优缺点的更独立评论。)
克隆:dd是一个非常强大但也非常危险的工具,通常被称为“磁盘破坏者”或“数据破坏者”。dd 用于克隆将 iso 文件复制到 USB 闪存盘。创建仅实时的 USB 启动驱动器时,韓國“在 dd 上系上安全带”。此方法适用于所有混合 iso 文件,大多数现代 linux 发行版都提供这种 iso 文件。新的Ubuntu 启动盘创建器在 16.04 LTS 中也使用克隆方法。
许多其他工具提炼iso 文件的内容复制到 FAT32 分区,例如鲁弗斯和网启动(Rufus 还有克隆
dd
模式。)mkusb 是一个 Linux 工具。它在 Windows 中不起作用。
准备:
sudo add-apt-repository ppa:mkusb/ppa sudo apt update
安装 mkusb:
sudo apt install mkusb
mkusb 是一个 bash 脚本,它使用大多数 Linux 发行版中提供的几种标准工具。mkusb 使用禅意当可用时,提供图形用户界面。
mkusb-nox(无 X)适用于文本模式,例如在 Ubuntu Server 中。穆库斯布-杜斯(实际上杜斯)也可以在文本模式下使用对话文本模式菜单或纯文本界面。在纯文本模式系统(例如 Ubuntu Server)中,您应该安装软件包杜斯和/或mkusb-nox,而不是整个包韓國,
sudo apt install dus mkusb-nox
其他一些工具包括编译代码。
mkusb 可以创建适用于 Debian 和 Ubuntu 的持久实时系统。这些系统通过 grub2 启动,并将 iso 文件克隆到单独的分区。casper-rw 分区将被创建以持久性和usbdata 分区将创建用于存储数据并与运行 Windows 的计算机共享数据。这些持久实时系统可以在 UEFI 和 BIOS 模式下启动。
mkusb-nox 和 mkusb-dus 可以创建适用于 Windows 7-11 的 USB 安装程序通过提取。它使用 grub-pc 包安装 grub2,使 USB 闪存盘以 BIOS 模式启动。该系统可以在 UEFI 和 BIOS 模式下启动。
mkusb 确实不是创建多启动 USB 驱动器。还有其他工具可用于此目的。
mkusb 还可以清除混乱数据和/或将 USB 启动驱动器恢复到标准存储设备带有 MSDOS 分区表和 FAT32 文件系统。
如果您想了解更多详细信息,请参阅以下链接,
答案3
哇,听起来很复杂,韓國可以比我读上述任一程序更快地完成实时持久安装。它们听起来也像是完整安装而不是持久实时安装。持久安装使用 casper-rw 文件或分区。之所以称为持久安装,是因为启动文件中的单词 persistent 用于激活持久性。
看:https://help.ubuntu.com/community/mkusb详情韓國。
使用 mkusb 制作的 USB 驱动器也可以毫无问题地将完整安装到 HDD 或 USB。