今日硬盘安装debian 踩坑全景 以及xen简易命令

@vrqq  May 28, 2024

为了用xen 下载了个debian,原来的引导是grub2,寻思直接装被,踩了几个坑

坑1:debian官方带的/install.amd/initrd.gz不支持loop和ext4
我先分了个ext4分区,把iso放里面,寻思直接在grub里面引导iso的initrd然后再mount iso,结果发现。。
无论是完整版的DVD1.iso 还是 netinst.iso 里面带的 /install.amd/initrd.gz 都没有相关的kernel module。。(loop, ext4)
也就是他的安装环境 不支持mount iso, 不支持 mount -o loop,好在它支持vfat。。。

注意事项: 动分区表之后 需要remount
我在debian安装程序里面选了修改分区,正好iso里面的文件也放在同一个磁盘盘的无关分区中,要记得在图形界面配置好分区后,在安装程序中选择命令行,"将iso中的文件所在的分区" 重新挂载到 /cdrom

全流程记录

  • 下载netinst.iso 或完整版iso均可 (因为不涉及grub内挂载iso 所以iso大小不受限制)
  • 创建一个 FAT32 分区!(vfat格式) 这是安装包的initrd.gz支持可mount的分区格式

    fdisk /dev/xxxxx ## 修改分区表里面的分区标识
    mkfs.vfat -F32 /dev/xxxxx
  • 解压iso文件到刚创建的分区中

    mount /dev/xxxxx /mnt/diskiso
    mount ~/Download/debian.iso /mnt/iso
    cp -rf /mnt/iso* /mnt/diskiso/
  • 重启进入grub命令行(grub带的module起码得支持vfat 要不然安装程序都进不去)
    先输入 ls (hd + TAB 探探刚才那个磁盘上的分区是哪个 例如我这里是 (hd3,gpt4)

    set root=(hd3,gpt4)
    linux /install.amd/vmlinuz
    initrd /install.amd/initrd.gz
    boot
  • 此时会进入debian的安装程序,一系列配置后 它会提示cannot detect installation media,正常的 因为还没挂载。选择Execute a shell。如果改变了分区表 记得重新做这步 (umount然后mount) 不然还会报错。。

    mount /dev/xxxxx /cdrom
    exit
  • 继续安装完成后 重启进系统后坑来了:软件源没有?!
    使用难用的vi,或者不如直接echo最简单,命令如下

    su root
    echo "deb http://deb.debian.org/debian bookworm main" > /etc/apt/sources.list

    参考:https://wiki.debian.org/SourcesList 我这里没有开non-free-firmware

  • 安装ssh net-tools

    apt update
    apt install openssh-server net-tools

好了可以ssh进去配置了

  • ssh 证书登录 禁止密码登录
  • 装点常用工具 vim 啥的

配置sudo

su root
cd /usr/sbin
./visudo /etc/sudoer

添加一行vrqq ALL=(ALL:ALL) ALL

准备podman
console-setup会用在装podman的过程中(post-install-script),但他不在依赖里

apt install console-setup podman

# docker.io居然被墙了
export HTTPS_PROXY="http://192.168.6.163:10809"
export HTTP_PROXY="http://192.168.6.163:10809"

# 准备一个开发用container
# https://blog.vrqq.org/archives/795/
podman run -d --name hostdev -it -p 10022:22 -v/home/vrqq:/root debian bash

## command inside docker
## 我们已经映射了home 这里应该可以直接证书登录了
apt install openssh-server build-essential linux-headers-`uname -r`
mkdir -p /run/sshd
/usr/sbin/sshd

这里给下一章做铺垫,制作一个megaraid_sas disk spindown driver:https://blog.vrqq.org/archives/959/

想拿他跑个xen 装个桌面好配置

apt install xen-hypervisor i3 xrdp tigervnc-viewer

i3wm用不明白可以换gnome啥的 没必要在这上浪费时间

配置 xen 虚拟机

装完virt-manager后配置:sudo adduser vrqq libvirt

配置网桥: https://wiki.debian.org/BridgeNetworkConnections#Setting_up_your_Bridge
修改 /etc/network/interfaces

auto lo
iface lo inet loopback

iface eno2 inet manual

auto xenbr0
iface xenbr0 inet dhcp
  bridge_ports eno2
  bridge_stp off

我原网卡为eno2 注意需要把原先网卡inet manual 不让他获取IP,只让网桥获得IP。(xenbr0 = cpu0)
然后运行sudo service networking restart,之后由于mac地址和原网卡不同,大概率会获得一个新的IP

查看NVME硬盘的PCIE设备编号 稍后做透传用 ls -la /sys/class/block/(后面那个0000:) 和 lspci -v
依次执行如下命令

sudo -s

# 透传nvme ssd
modprobe xen-pciback
xl pci-assignable-add 03:00.0

# 创建虚拟机
xl create -f ./winvm.cfg

## 回到普通模式连接vnc
exit
vncviewer

如果出现 例如 Error : Can't open display: :10.0
请先退出root用户 用当前账户测试,可以运行 xclock 打开一个时钟界面

一个样例配置文件如下 (winvm.cfg)

type = "hvm"
name = "win2022"

# Initial memory allocation (MB)
memory = 16384 

# Number of VCPUS
vcpus = 16

pci = ['03:00.0']

# Guest VGA console configuration, either SDL or VNC
sdl = 0
vnc = 1

# Enable/disable HVM guest PAE, default=1 (enabled)
pae = 1

# Enable/disable HVM guest ACPI, default=1 (enabled)
acpi = 1

#----------------------------------------------------------------------------
# Configure the behaviour when a domain exits.  There are three 'reasons'
# for a domain to stop: poweroff, reboot, and crash.  For each of these you
# may specify:
#
#   "destroy",        meaning that the domain is cleaned up as normal;
#   "restart",        meaning that a new domain is started in place of the old
#                     one;
#   "preserve",       meaning that no clean-up is done until the domain is
#                     manually destroyed (using xm destroy, for example); or
#   "rename-restart", meaning that the old domain is not cleaned up, but is
#                     renamed and a new domain started in its place.

on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'

创建qemu格式虚拟磁盘
qemu-img create -f qcow2 w11.qcow2 128G

Reference:

晚安

后记

debian挺好的,xen也还行,windows 11 令人不悦。
在使用Microsoft Account登录之后,运行了control userpasswords2 欸 发现可以修改当前账户用户名 我改!
然后爽了,打开设置秒崩,注销重新登录试试呢。。这下好了,想改任何需要管理员权限的东西,都会跳出UAC然后 没有输密码的框 也没有“是”那个按钮,只有一个“否”。。。
这两年的APLE和MS有没有测试我不知道,反正我自己写程序时是害怕出bug的,指着程序员自己测,嘿嘿嘿。。。

测得HVM模式下 qcow2 + XVDK驱动 + qcow2存放于dm2_crypto (AES256)加密的盘上,文件写入速度为 80 MB/s
对比裸机速度 1200MB/s,真的就当自己是IDE了吗

一份windows11 安装说明送给头铁的朋友 https://www.qubes-os.org/doc/templates/windows/windows-qubes-4-1/


已有 7 条评论

  1. 《弦动我心》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/72551.html

  2. 《秘密绑架(加长版)》泰国剧高清在线免费观看:https://www.jgz518.com/xingkong/137018.html

  3. 《奇葩料理大作战第一季》国产剧高清在线免费观看:https://www.jgz518.com/xingkong/36272.html

  4. 真棒!

  5. 想想你的文章写的特别好www.jiwenlaw.com

  6. 叼茂SEO.bfbikes.com

  7. 叼茂SEO.bfbikes.com

添加新评论