study

Ubuntu多硬盘luks全盘加密自动解锁(硬件变更后失效)的方法

ubuntu

Ubuntu多硬盘luks全盘加密自动解锁(硬件变更后失效)的方法

原文链接:https://ovea-y.cn/ubuntu_mutli_disk_luks_full_encrypt_and_auto_unlock/ 简介 大家都知道,Linux现在用Luks全盘加密一直有一个痛点,就是每次开机都需要输入解密硬盘的密码,之后又要输入用户密码,非常的麻烦!本文正是为了解决这个问题诞生的! 本文多硬盘加密带来的效果是,当你的硬盘被拔出,其他人试图拿到数据时必须需要密码。而硬盘如果一直留在原来的主机中,且硬件没有发生大的变化,则不需要密码即可自动解密硬盘开机。 密钥验证逻辑链路如下: 使用TPM芯片验证当前环境是否可信,如果可信的话,则释放密钥给系统硬盘。系统启动后会释放其他硬盘的密钥来进行解锁。 其中任何一个链路被破坏,都将无法再自动解锁,必须输入密码。(其实这里有个可改进的地方,如果System Storage不是通过TPM解锁的,则销毁解密其他存储器的密钥) 1. 在安装Ubuntu的时候,进行仅对根目录进行加密 2. 设置根目录在开机时通过tpm 2.0硬件自动解密 安装所需工具

By 夕元
磁盘切换成F2FS文件系统并加密

ubuntu

磁盘切换成F2FS文件系统并加密

原文链接:https://ovea-y.cn/switch_the_disk_to_f2fs_file_system_and_encrypt_it/ 背景 对于SSD和SMR技术的机械硬盘,使用F2FS可以更好的利用它们的性能。 💡 下图可以看到采用SMR技术的机械硬盘也支持Trim(/dev/sda) ![fewf3r3t1tg1t1g](https://s2.loli.net/2024/01/20/Hn6wxC5AU1TFpl4.png) 步骤 0. *如果有使用的swap,先停止swap使用,并且取消默认挂载 1. 安装F2FS Tools sudo apt install f2fs-tools 2. 先将要格式化的磁盘取消挂载 3. 然后上锁 4. 使用F2FS格式化磁盘 5. 配置加密磁盘的label,

By 夕元
在Virtual Box中运行物理磁盘上的Windows

virtualbox

在Virtual Box中运行物理磁盘上的Windows

原文链接:https://ovea-y.cn/running_windows_on_a_physical_disk_in_virtualbox/ 步骤 1. 创建一个包含了所有Windows分区的虚拟磁盘 sudo VBoxManage internalcommands createrawvmdk -filename windows.vmdk -rawdisk /dev/sda -partitions 1,2,3,4 -relative 此处我选择了sda的1,2,3,4四个分区 2. 以root权限执行virtualbox 3. 在Virtual Box中导入或创建任意一个系统镜像 4. 将windows.vmdk导入虚拟机 5. 启动虚拟机,选择从Windows启动 注意:如果此时Linux系统没有显示grub菜单,修改/etc/

By 夕元
FreeBSD安装

freebsd

FreeBSD安装

原文链接:https://ovea-y.cn/free_bsd_install/ 💡 FreeBSD是一个历史悠久的类UNIX系统,当今很多主流的操作系统都或多或少地吸收了它的设计理念。 安装FreeBSD 1. 制作启动盘 2. 安装核心 2.1 此处按下Enter键,启动多用户模式 2.2 选择Install,并且按下Enter键 2.3 选择一个键盘映射模式,此处选择默认即可(空格可以切换下面的按钮,回车是选择) 2.4 设置一个喜欢的主机名字,输入后按回车确认 2.5 选择需要安装的组件(上下键移动,空格选择,确认全部) 2.6 选择一个文件系统和磁盘分区方式 * Auto(UFS)使用UFS文件系统,并且自动对磁盘进行分区 * Manual 如果想自己分区,可以选择这种模式 * Shell 使用shell高度灵活地分区

By 夕元
WSL1 与VPN

windows

WSL1 与VPN

原文链接:https://ovea-y.cn/windows_wsl1_and_vpn/ WSL1 与VPN * Get-NetAdapter -InterfaceDescription 获取所有网络适配器信息 其中TAP-Windows Adapter V9 和Cisco AnyConnect Secure Mobility Cli都是VPN * Get-DnsClientServerAddress 获取DNS服务器地址 背景 由于使用了VPN后,VPN的DNS信息不会自动同步到WSL 1中,因此需要一种方法来快捷配置WSL 1的DNS服务器信息。 配置 vpn配置 首先需要找到目前使用的VPN适配器是哪个,然后配置进WSL 1的配置文件中。 #run to fix connection / nameserver issues when connected to VPN vpn () { #Write dns servers from VPN

By 夕元
WSL与Windows文件系统区分大小写

windows

WSL与Windows文件系统区分大小写

原文链接:https://ovea-y.cn/wsl_and_windows_file_system_are_case_sensitive/ 以管理员权限运行 cmd 输入下面这个命令就可以开启某个目录区分大小写。 fsutil.exe file setCaseSensitiveInfo <path> enable 执行下面的命令可以查看某个目录是否有区分大小写。 fsutil.exe file queryCaseSensitiveInfo <path> 如果不需要区分大小写的属性可以设置为禁用。 fsutil.exe file setCaseSensitiveInfo <path> disable 需要注意的是,这个操作不会对此目录中已有的文件生效,只有新写入的文件才会继承这个属性。所以对于目录中已有的文件,需要把文件剪切到其它目录,然后再复制回来。(同盘符下的剪切不是写入,所以后面的操作是复制。) WSL使用Windows目录下的应用 export

By 夕元
Risc-V Simple Learning

risc-v

Risc-V Simple Learning

原文链接:https://ovea-y.cn/risc_v_simple_learning/ 诞生原因 * x86指令集爆发性增长 * 由于非商业,所以不会受到随意的更改 * 没有历史包袱 * 例如x86还保留着BCD数据格式的操作指令,占据了操作码空间的1.6%(4/256) * 模块化的ISA(核心是RV32I),可以根据自己的需求进行选择 * x86由于是增量式的ISA,因此每次带有新指令的CPU必须也要实现旧指令。 * 简介的ISA,相比其他RISC架构指令集,实现同一功能可以进行更少的指令执行 RV32/RV64的特权架构 机器模式(M) 机器模式是risc-v中的最高权限模式,具有对裸机的完整控制权,是所有RISC-V处理器必须实现的权限模式。 特性 * 拦截 * 异常处理 * 同步异常(指令执行期间产生的,例如执行了不合规范的指令,或者访问了错误的内存地址等) * 访问错误异常 当物理内存地址不支持访问时(比如写入ROM) *

By 夕元
rcore项目lab0的一些记录

ucore

rcore项目lab0的一些记录

原文链接:https://ovea-y.cn/rcore_lab0_recode_0/ * Lab 0的一些记录 * 前情提要 * 实验概要 * 实验过程 * 创建Rust项目 前情提要 我已经不想继续花时间在无聊的Rust理论和Risc-V上了,所以我想直接开始Lab 0的学习,就像玩新游戏一样~ 实验概要 * 使用 Rust 包管理器 cargo 创建一个 Rust 项目 * 移除 Rust 程序对操作系统的依赖,构建一个独立化可执行的程序 * 我们将程序的目标平台设置为 RISC-V,这样我们的代码将可以在 RISC-V 指令集的裸机(Bare Metal)上执行 Rust 代码 * 生成内核镜像、调整代码的内存布局并在 QEMU 模拟器中启动 * 封装如输出、关机等一些 SBI 的接口,方便后续开发

By 夕元