Rufus 制作启动盘 | 便携的工作空间

唠唠闲话

最近服务器硬盘故障多,在修复过程中,学习了一些操作,这里做个记录。本期主要介绍 U盘启动盘的制作,以及持久化存储。

U 盘启动盘

镜像选择

Ubuntu 的版本命名遵循 “Adjective Animal” 的模式,即 “形容词+动物” 名称,每个版本都有一个官方代号。此外,版本还分为 LTS 和普通版,LTS 是“Long Term Support”的缩写,意味着这个版本将获得长期的支持,通常是五年。普通版本通常每六个月发布一次,支持期限为九个月。

写这篇博客的时候是 2024 年,建议下载至少 20.04 LTS 版本的 Ubuntu 镜像,这是一个长期支持版本,支持到 2025 年。

  1. 20.04 LTS “Focal Fossa”

    • 发布时间:2020年4月
    • “Focal”意味着“中心的”或“焦点”,“Fossa”是马达加斯加的一种猫科动物,暗示该版本稳定且聚焦于长期支持特性
    • 下载地址:https://releases.ubuntu.com/focal/
  2. 22.04 LTS “Jammy Jellyfish”

    • 发布时间:2022年4月
    • “Jammy”在英国俚语中意思是“非常幸运的”,“Jellyfish”即水母,可能是指新的长期支持版本在稳定性与新特性引入方面的“幸运平衡”
    • 下载地址:https://releases.ubuntu.com/jammy/

下载 Ubuntu 22 镜像:

wget -c https://releases.ubuntu.com/jammy/ubuntu-22.04.4-desktop-amd64.iso

制作启动盘

从 Rufus 官网下载 Rufus 工具,该工具仅支持 Windows 系统:

wget -c https://github.com/pbatard/rufus/releases/download/v4.4/rufus-4.4.exe

打开后,选择镜像,和 U 盘,然后开始制作启动盘。

设置持久化分区存储,这样在 U 盘上安装软件和保存文件都会被保留。如果该 U 盘仅用于系统盘,可将持久分区拉满。

下图保留了部分空间用于日常存储。

20240404184538

注1:如果不设置持久存储,U 盘时将以只读模式加载,同时使用 RAM(随机访问存储器)作为临时的写入空间。这意味着使用过程中产生的数据(如临时文件、系统日志等)都存储在内存中,而不是 U 盘或硬盘上。

注2:Rufus 的持久性功能被明确标记为 EXPERIMENTAL,如果希望更稳定的持久性功能,可以尝试其他工具,如 UNetbootin。

启动 U 盘

进 BIOS 的方式和主板相关。通常,开机按 F2 或 Delete 进入 BIOS 设置,找到启动项,将 U 盘启动项调整到第一位。

开机后,选择语言,选择 “试用 Ubuntu” 进入系统。

输入 ctrl + alt + t 打开终端,输入 df -h 查看硬盘信息,可以看到系统目录 / 由持久化存储分区 /cow 挂载。

软件配置

可将 U 盘当作移动的系统盘,随时随地使用。

根据需要给 U 盘安装软件,参考 Ubuntu 教程(一) | 必备软件的安装和配置。

默认的 APT 源不完整,搜索不到 testdisk 等应用,需要修改。以下为 22 版本的 apt 源:

# cd /etc/apt
# cp sources.list sources.list.bak
# nano sources.list
deb http://archive.ubuntu.com/ubuntu jammy main restricted
deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted
deb http://archive.ubuntu.com/ubuntu jammy universe
deb http://archive.ubuntu.com/ubuntu jammy-updates universe
deb http://archive.ubuntu.com/ubuntu jammy multiverse
deb http://archive.ubuntu.com/ubuntu jammy-updates multiverse
deb http://archive.ubuntu.com/ubuntu jammy-backports main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu jammy-security main restricted
deb http://archive.ubuntu.com/ubuntu jammy-security universe
deb http://archive.ubuntu.com/ubuntu jammy-security multiverse

更改 apt 源后,开始安装软件:

sudo apt update
sudo apt install net-tools vim testdisk curl git network-manager gddrescue lvm2 -y
# 可选,用于 ssh 连接和网络挂载
sudo apt install openssh-server sshfs -y
sudo apt install python3 python3-pip -y

实测用 Rufus 安装的 U 盘启动盘,在启动时,有可能会重置主机名和默认登录用户。因此建议创建新用户,并在新用户上配置环境。

网络设置

Netplan 会读取 /etc/netplan/ 目录下的所有以 .yaml 结尾的文件来构建整个系统的网络配置。如果目录中有多个配置文件,Netplan 会按字母顺序合并这些文件。

查看默认 netplan 配置文件:

# cat /etc/netplan/01-network-manager-all.yaml
network:version: 2renderer: NetworkManager

网络配置由 NetworkManager 服务管理,NetworkManager 是一个动态网络管理工具,它可以自动检测和配置网络连接,使得用户在大多数情况下无需手动配置网络。

部分情况需手动修改,可通过以下方法之一来查看系统中所有网络接口的名称:

  • 执行 ip linkip a 命令在终端中查看。
  • 使用 ifconfig 命令(如果已安装 net-tools 包)。

举个例子:

network:ethernets:enp195s0: # 接口名称,通过 ip link 查看addresses: [192.168.98.26/24]eno2:addresses: # 静态 IP 地址- 172.23.148.35/24# 网络配置gateway4: 172.23.148.1nameservers:addresses:- 114.114.114.114search: []version: 2

接口名称的含义:

  • en 表示以太网(Ethernet)。
  • o 表示 onboard(板载设备)。
  • s 表示 hotplug slot(热插槽)。
  • x 表示 MAC地址(通常用于无法通过其他方式分类的情况)。
  • 数字表示物理位置或者是内部编号,如 eno1 通常指的是第一个板载以太网接口。

修改配置后,执行 sudo netplan apply 使配置生效。

修改日志规则

默认情况下,Ubuntu 系统日志使用 rsyslog 服务来记录系统事件,按时间轮转。

cd /etc/logrotate.d
cat rsyslog

内容形如:

/var/log/syslog
/var/log/kern.log
...
/var/log/debug
/var/log/messages
{rotate 4weeklymissingoknotifemptycompressdelaycompresssharedscriptspostrotate/usr/lib/rsyslog/rsyslog-rotateendscript
}

前边是指定的日志文件,大括号 {} 内的是对这些文件应用的具体规则:

  • rotate 4:保留最新的4个轮替文件。超过这个数量的旧文件会被删除。
  • weekly:日志文件将每周轮替一次。
  • missingok:如果日志文件不存在,不会报错。
  • notifempty:如果日志文件为空,不进行轮替。
  • compress:轮替的日志文件将被压缩(默认使用gzip)。
  • delaycompress:压缩操作将延迟到下一次轮替周期。
  • sharedscripts:这个选项意味着 postrotate 脚本将只执行一次,而不是对每个日志文件执行一次。
  • postrotate/endscript:这是一对指令,定义了在日志文件轮替后需要执行的脚本。

比如将 weekly 改为 size 100M 选项,指定日志文件达到一定大小时进行轮替,避免异常占用。

执行 sudo logrotate -f /etc/logrotate.conf 使配置生效。

异常处理

U 盘运行 ddrescue 时,没限制日志大小,把电脑卡死了,导致重启一直卡在光标处进不了系统。

在论坛翻到了一个进入命令行系统的方案:Ubuntu boots to a black screen with blinking a underscore character after release upgrade。

开机选择安全模式,卡在光标处的时候,按 Ctrl + Alt + F1Ctrl + Alt + F3 切换到命令行模式。

最后通过命令行发现了该问题: U 盘的 /var/log/syslog/var/log/kern.log 把持久化内存撑爆了,导致系统无法正常启动。

清理并刷新系统日志:

cd /var/log
sudo echo > syslog
sudo echo > kern.log
sudo systemctl restart rsyslog

重新输入 df -h 查看硬盘占用信息。

工作区备份

Rufus 重装后有两个分区,一个是只读的 squashfs,另一个是持久化的 ext4。如果将 U盘用于日常工作,可以用 dd 命令备份硬盘,避免 U 盘损坏丢失工作区。命令如下:

sudo dd if=/dev/sda of=/path/to/backup.img bs=4M status=progress

以上。实践过程中遇到了其他问题或有新的发现,欢迎讨论~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/40183.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【trition-server】python-backend 源码阅读

c++ 的stub 代码import 了 python的类 sys 和 triton_python_backend_utils.pystub本身是一个进程,与主进程做IPC通信docker 运行一个trition-server (base) zhangbin@ubuntu-server:~$ docker run --shm-size=1g --ulimit memlock=-1 -p 8000:8000 -p 8001:8001 -p 8002:8002…

windwos环境和pyspark环境问题解决-记录

一: 打不开cmd/cmd闪退问题解决 1.winR打开 regedit 2.在注册表找到 HKEY_CURRENT_USER\Software\Microsoft\Command Processor路径 3.在该路径下找到AutoRun,将数值改为空 可能原因:找到AutoRun 发现值是: if exist & if…

新港海岸NCS8822 低功耗DP转VGA 分辨率支持1920*1200*60HZ

NCS8822描述: NCS8822是一个低功耗显示端口到vga转换器。NCS8822集成了一个与DP1.2兼容的接收器和一个高速三通道视频DAC。对于DP1.2输入,NCS8822支持1车道/2车道,也支持车道交换功能。对于VGA输出NCS8822,在60Hz帧率下对WUXGA&a…

C++ 栈-队列-优先级队列

目录 1 栈 2 队列 3 deque 介绍 4 优先级队列 5 反向迭代器 栈也是我们在C语言就模拟实现过的一种数据结构,在C中,栈其实和我们前面模拟实现过的string、vector等容器有一点区别,站起是不是容器,而是一种容器适配器,我…

java必知必会-j2ee规范(上)

文章目录 一、WEB三大规范二、j2ee相关接口(上)1.javax.servlet.Servlet2.javax.servlet.http.HttpServlet3.javax.servlet.ServletRequest4.javax.servlet.http.HttpServletRequest5.javax.servlet.ServletResponse6.javax.servlet.http.HttpServletResponse7. javax.servlet.…

k8s record 20240705

k8s 安全管理 request 是1g,你得不到要求,我就不创建了,这就是准入控制二次校验 SA就是serviceAccount。 内部是SA和 token, 外部用户进来就是 .kube/config文件 namespace下的是role,整个集群是 ClusterRole. 动作就是Binding li…

pytest-rerunfailures:优化测试稳定性的失败重试工具

笔者在执行自动化测试用例时,会发现有时候用例失败并非代码问题,而是由于服务正在发版,导致请求失败,从而降低了自动化用例的稳定性,最后还要花时间定位到底是自身case的原因还是业务逻辑问题,还是其他原因…

大数据面试题之Presto[Trino](3)

目录 Presto如何处理数据的聚合操作? Presto支持哪些类型的JOIN操作? 如何在Presto中使用子查询? 解释Presto中的窗口函数。 Presto中的Page和Block是什么? 描述Presto如何处理列式存储数据。 ORC和Parquet格式在Presto中的…

适合家居建材企业的CRM系统盘点(2024版)

当前,CRM市场上,国际巨头的市场优势正在逐渐减弱,国内CRM企业奋起追赶,呈现出强劲的崛起势头。因此,对于家居建材企业来讲,在进行CRM选型时,如何选择一款合适的系统是关乎企业高效发展的重要课题…

探索C嘎嘎的奇妙世界:第十九关---STL(list的模拟实现)

1. 基本框架 首先&#xff0c;我们先从节点的准备工作入手&#xff0c;请看示例&#xff1a; #pragma once #include<iostream> #include<assert.h> using namespace std; //节点 template<class T> struct ListNode {ListNode<T>* _next;Li…

矩阵键盘与密码锁

目录 1.矩阵键盘介绍​编辑 2.扫描的概念 3.代码演示&#xff08;读取矩阵键盘键码&#xff09; 4.矩阵键盘密码锁 1.矩阵键盘介绍 为了减少I/O口的占用&#xff0c;通常将按键排列成矩阵形式&#xff0c;采用逐行或逐列的 “扫描”&#xff0c;就可以读出任何位置按键的状态…

免杀笔记 ----> ShellCode Loader !!!

学了那么久的前置知识&#xff0c;终于到了能上线的地方了&#xff01;&#xff01;&#xff01; 不过这里还没到免杀的部分&#xff0c;距离bypass一众的杀毒软件还有很长的路要走&#xff01;&#xff01; 目录 1.ShellCode 2.ShellCode Loader的概念 3.可读可写可…

字符串函数5-9题(30 天 Pandas 挑战)

字符串函数 1. 相关知识点1.5 字符串的长度条件判断1.6 apply映射操作1.7 python大小写转换1.8 正则表达式匹配2.9 包含字符串查询 2. 题目2.5 无效的推文2.6 计算特殊奖金2.7 修复表中的名字2.8 查找拥有有效邮箱的用户2.9 患某种疾病的患者 1. 相关知识点 1.5 字符串的长度条…

代码随想录算法训练营第四十四天|188.买卖股票的最佳时机IV、309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费

188.买卖股票的最佳时机IV 题目链接&#xff1a;188.买卖股票的最佳时机IV 文档讲解&#xff1a;代码随想录 状态&#xff1a;不会 思路&#xff1a; 在股票买卖1使用一维dp的基础上&#xff0c;升级成二维的即可。 定义dp[k1][2]&#xff0c;其中 dp[j][0] 表示第j次交易后持…

虚拟ECU:纯电动汽车发展下的新选择

人类文明的进步是一个不断自我否定、自我超越的过程。21世纪以来&#xff0c;随着科技进步和经济社会发展&#xff0c;能源和交通系统已从独立于自然环境的孤立系统&#xff0c;转变为与自然、技术、社会深度耦合的复杂系统。为实现可持续发展和应对气候变化&#xff0c;世界各…

【居家养老实训室】:无障碍设施建设与评估

本文围绕居家养老实训室中的无障碍设施建设与评估展开讨论。首先阐述了无障碍设施对于居家养老的重要性&#xff0c;接着详细介绍了常见的居家养老无障碍设施类型&#xff0c;包括出入口、通道、卧室、卫生间等区域的设施。然后重点探讨了无障碍设施的评估方法和标准&#xff0…

【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——AVL树

目录 1 -> 底层结构 2 -> AVL树 2.1 -> AVL树的概念 2.2 -> AVL树节点的定义 2.3 -> AVL树的插入 2.4 -> AVL树的旋转 2.5 -> AVL树的验证 2.6 -> AVL树的性能 1 -> 底层结构 在上文中对对map/multimap/set/multiset进行了简单的介绍&…

《简历宝典》02 - 如果你是HR,你会优先打开哪份简历?

现在的求职环境不必多说&#xff0c;其实我们大家都还是很清楚的。所以&#xff0c;在这个环境下&#xff0c;写一份优秀的简历&#xff0c;目的与作用也不必多说。那么&#xff0c;这一小节呢&#xff0c;我们先从简历这份文档的文档名开始说起。 目录 1 你觉得HR们刷简历的时…

【深度学习】图形模型基础(5):线性回归模型第二部分:单变量线性回归模型

1.引言 在统计学与机器学习的广阔领域中&#xff0c;线性回归作为一种基础而强大的预测技术&#xff0c;其核心在于通过输入变量&#xff08;或称预测器、自变量&#xff09;来估计输出变量&#xff08;响应变量、因变量&#xff09;的连续值。本章聚焦于线性回归的一个基本但…

Spring-@Component和@Configuration的区别

前言 在Spring框架中&#xff0c;Configuration和Component注解都是用于组件扫描和管理Bean的生命周期&#xff0c;但它们有着不同的用途和应用场景 Component 注解 Component是一个通用的 stereotype 注解&#xff0c;表明一个Java类为Spring框架中的一个Bean组件。Spring会自…