如何制作Ubuntu 16.04的永久活动USB?


12

我需要最好为16.04的持久性活动Ubuntu,因为我需要如线程中所述恢复我的整个16.04加密硬盘,如何将自己添加回16.04加密HDD的sudo组中? 我在这里创建了一个新的持久性Live Ubuntu 16.04,其中包含一些与Videonauth结尾的错误

  1. sudo apt-get install gksu debootstrap
  2. gksudo gparted。使USB ext4留下1GB的可用内存,并为Linux Swap设置1GB;仅管理标志boot
  3. 准备操作系统并在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/
    
  4. 提示看起来像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
    
  5. 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最稳定,您可以按照本文末尾的说明进行下载。

  6. apt-get install vim wget

  7. blkid,复制到剪贴板vim /etc/fstab。删除sda行,因此只有两sdb行。编辑它们以使其喜欢UUID="..." swap swap defaulst 0 0UUID="..." / ext4 defaults 0 1

  8. 将以下内容粘贴到文件中 /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
    
  9. 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
    
  10. masi将现有组添加到usermod -aG adm,cdrom,sudo,dip,plugdev,lpadmin,sambashare masi可以忽略的位置sambashare

  11. 忽略驱动程序,因为USB记忆棒不适用于一台PC。

  12. 要恢复加密的HDD,请在apt-get ecryptfs-utils schroot testdisk其中testdisk准备光盘的软件包中安装软件包,并在另两个软件包中恢复加密的Ubuntu 16.04整个光盘。

  13. sudo echo 'GRUB_DISABLE_OS_PROBER="true"' >> /etc/default/grub; update-grub

  14. 完成安装。做

    rm /sbin/initctl
    dpkg-divert --local --rename --remove /sbin/initctl
    

测试您的Persistent Live Ubuntu 16.04的安装[alpha]

  1. 启动新的Persistent Ubuntu。在终端中,执行sudo true。如果得到Unable to resolve host * Connection refused,那就做

    # /ubuntu//q/59458/25388
    sudo vim /etc/hostname
    masi 
    
    sudo vim /etc/hosts 
    127.0.0.1    localhost.localdomain masi
    [...]
    
  2. 可能的麻烦: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

  1. Ubuntu的Internet浏览器。启动它会使系统崩溃。鼠标只能工作,但不能将任何信号发送到TTY。
  2. 火狐浏览器。启动它会发出有关[配置文件存在]的警告,因此无法打开。临时修复rm -r ~/.mozilla && rm -r ./.cache/mozilla仅适用于一个会话。该问题在每次登录时仍然存在。更好的工作FIX: ,sudo mv -v /home/masi /home/masi_backup,,sudo mkdir -v /home/masi 和因为主文件夹的一些所有权会导致错误。运行源代码的命令,您将获得以下差异sudo chown masi:masi /home/masisudo chmod 755 /home/masisudo reboot
  3. /etc/hostname/etc/hosts一段时间后无法匹配
  4. 有时,开始 (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


2
您是否都尝试过“启动磁盘创建器”?我认为,这是一个GUI应用程序,它将使用标准liveCD ISO文件来完成此操作。或UNetBootin,它将制作各种活动USB磁盘,甚至无需先下载ISO文件(但可能还没有16.04)。
马蒂·弗里德

1
@Masi只需删除当前Ubuntu记忆棒上的所有数据,然后按照说明创建新的持久性Ubuntu记忆棒。如果您有权访问Ubuntu ISO文件(或可以下载一个文件),那将比尝试将现有USB记忆棒“转换”为持久模式要容易得多。

1
您不能删除USB记忆棒上的所有内容,然后使用Unetbootin或Startup Disk Creator创建“新的”持久活动USB吗?那将比所有这些命令简单得多。

这听起来像是完整安装,只是碰巧是在USB上,而不是在“活动USB”上...
Xen2050,16年

1
我的理解是,在Ubuntu中,Live USB与Live CD相同,您可以运行但不能保存。永久USB是具有永久文件或分区的Live USB,可以保存会话。完全安装是使用与安装到内部HDD相同的方法安装到USB。
CSCameron '16

Answers:


11

为了使自己能够在USB或外部HDD上完全正常地安装Ubuntu,可以按照此处描述的步骤进行操作。

你想通过做一些准备安装开始,你需要gksudo这是在包装gksuschrootdebootstrap。这些软件包默认情况下未安装,因此请输入终端(ctrl+ alt+ t):

sudo apt-get install gksu debootstrap schroot

现在,您可以通过以下方法开始准备要安装的USB / HDD:

gksudo gparted

首先,您要转到devices菜单并选择create partition table,在询问类型时选择msdos。现在,您应该看到未分配空间的条目。单击此按钮,然后选择new并使其成为ext4,仅留下1GB的可用内存,然后再次单击未分配的空间条目并使其对于Linux Swap变为1GB。之后,将设置应用到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文件,为此,首先可以通过以下方式获取系统中UUIDS的列表:

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。现在删除标记/dev/sda为最可能是您的HDD的行,并更改其他两行,使它们最终看起来像这样:

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仅将您的Stick识别为OS,而不添加您在其上构建的Stick,请执行以下操作:

echo 'GRUB_DISABLE_OS_PROBER="true"' >> /etc/default/grub
update-grub

通过以下方式完成安装:

rm /sbin/initctl
dpkg-divert --local --rename --remove /sbin/initctl

现在,您可以重新启动USB,并具有完全安装的Ubuntu系统。如果碰上不能够启动这似乎是相关的一个bug终端的麻烦gnome-terminal,你可以在TTY(检查ctrl+ alt+ f1和登录与您的用户名和密码)的内容/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设置中设置语言等。之后重启。


这与自动安装程序(普遍存在)有什么不同吗?我不确定OP是否正确使用了“ 实时 ” 一词...
Xen2050 '16

ubiquity还不知道,这个答案是与OP长时间聊天的结果。
Videonauth

默认的Ubuntu安装程序,我认为仍然是Ubuquity
Xen2050 '16

1
应该工作寿
Videonauth

@Videonauth请看一下身体。发现了一些新案例。/etc/hostname和应该如何/etc/hosts设置?--一段时间后,他们开始在我的系统中失败,而现在进入(inittramfs)
莱奥波德·赫兹(LéoLéopoldHertz)2016年

5

这里有一些细节。(其他人应就其优缺点撰写更为独立的评论。)

  • 克隆:dd是一种非常强大但又非常危险的工具,通常被昵称为“磁盘破坏者”或“数据破坏者”。dd用于将iso文件克隆到USB pendrive。创建仅激活的USB启动驱动器时,mkusb会在dd上绑上安全带。此方法适用于所有混合iso文件,大多数现代linux发行版都提供这种iso文件。LTS 16.04中新的Ubuntu Startup Disk Creator也使用了克隆方法。

  • 许多其他工具(例如RufusUnetbootin)将iso文件的内容提取到FAT32分区。(Rufus也具有克隆模式。)dd

  • mkusb是一个Linux工具。在Windows中不起作用。

  • mkusb是一个bash脚本,使用大多数Linux发行版中提供的几种标准工具。如果可用,mkusb将zenity用于图形用户界面。

  • mkusb-nox(No X)在文本模式下工作,例如在Ubuntu Server中。mkusb-dus(别名为mkusb版本12)也可以在文本模式下使用对话框文本模式菜单或纯文本界面。

  • 其他一些工具由编译后的代码组成。

  • mkusb可以为Debian和Ubuntu创建持久的实时系统。这些系统通过grub2引导,并且iso文件被克隆到单独的分区。一个卡斯帕-RW分区将持久性创建和usbdata分区将用于存储数据,并与运行Windows的计算机共享数据来创建。这些持久的实时系统可以在UEFI和BIOS模式下启动。

  • mkusb-nox和mkusb-dus(别名版本12)可以通过提取为Windows 7-10创建USB安装程序。它使用grub-pc软件包安装grub2,这使USB pendrive在BIOS模式下启动。该系统可以在UEFI和BIOS模式下引导。

  • mkusb并没有创建多引导USB驱动器。还有其他用于此目的的工具。

  • mkusb还可以擦除混乱的数据和/或将USB引导驱动器还原到具有MSDOS分区表和FAT32文件系统的标准存储设备

如需更多详细信息,请参见以下链接,


希望获得更多有关的局限性的信息mkusb
莱奥列奥波尔德赫兹준 영

1
请询问,我会回复。甚至更好,请尝试一下,然后询问是否有问题:-)
sudodus

4

哇,听起来很复杂,mkusb可以执行Live Persistent安装,比我阅读上述任一过程都快得多。它们听起来也像完整安装而不是持久性实时安装。永久安装使用casper-rw文件或分区。之所以称为持久安装,是因为启动文件中的“持久”一词用于激活持久性。

有关mkusb的详细信息,请参见:https : //help.ubuntu.com/community/mkusb

用mkusb制成的USB驱动器也可以完全安装到HDD或USB上。



它也使得在其他O代表小狗塔尔羊一个小好基/ S的
CSCameron

最好回顾一下该工具与其他方法的区别。利弊。
莱奥波德·赫兹(LéoLéopoldHertz)2016年

一个很好的指南,使使用mkusb持续pendrives:askubuntu.com/questions/772744/...
CSCameron

在此页面上,有mkusb的创建者Sudodus编辑的快速安装指南。请注意,mkusb正在迅速发展,目前版本为11.1.9,它可能也正在分支到一个更直接的名为dus的安装程序中。
CSCameron '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.