全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1790|回复: 13

【更新】OpenWrt 22.03.3 内存系统 类似WinPE 为了DD系统而生

[复制链接]
发表于 2023-2-11 03:47:18 | 显示全部楼层 |阅读模式
本帖最后由 KDE 于 2023-2-11 04:00 编辑

警告!此操作硬盘数据会丢失!
警告!此操作硬盘数据会丢失!
警告!此操作硬盘数据会丢失!


加载到运行内存 运行的内存系统 不从硬盘启动 此系统为了在不删机的情况下 DD任何X86_64 Windows Linux系统

支持bios mbr和efi gpt,包括但不限于aws/az/gcp所有gen1 gen2机型!

支持自动获取V4 V6地址 静态地址的话 自己去后台VNC改


1、查看硬盘
  1. lsblk
复制代码

2、让硬盘进入只读 防止DD过程中 系统程序又写入数据
  1. echo 1 > /proc/sys/kernel/sysrq
  2. echo u > /proc/sysrq-trigger
复制代码

3、DD OpenWrt 22.03.3 内存系统 不到30MB大小 记得把null改成实际硬盘名称
  1. curl -Lo- "https://drive.google.com/uc?export=download&id=1PsQf5ao-T21EGyh3lZfpxFaL-qsIHA5i" | zcat | dd of=/dev/null bs=1M status=progress
复制代码

4、强制重启 加载内存系统到内存运行 脱盘的 reboot命令用不了 因为原有数据没了
  1. echo 1 > /proc/sys/kernel/sysrq
  2. echo b > /proc/sysrq-trigger
复制代码

5、ssh 账号密码
账号:root
密码:mfslinux

6、网页端管理账号密码同上
http://小鸡鸡IPV4地址/
http://[小鸡鸡IPV6地址]/


 楼主| 发表于 2023-2-11 03:47:19 | 显示全部楼层
经验之谈

Ubuntu 云镜像

1、下载
https://cloud-images.ubuntu.com/releases/22.10/release/ubuntu-22.10-server-cloudimg-amd64.img

2、转raw
qemu-img convert -f qcow2 -O raw ubuntu-22.10-server-cloudimg-amd64.img ubuntu-22.10-server-cloudimg-amd64.raw

3、压缩省流量省时间
gzip -k ubuntu-22.10-server-cloudimg-amd64.raw

4、丢vps开nginx 或者丢网盘直链
得到http或者https直连地址

5、DD命令 有些地址需要加双引号
curl -Lo- http://直连地址/ubuntu-22.10-server-cloudimg-amd64.raw.gz | zcat | dd of=/dev/null bs=1M status=progress

Debian 云镜像 raw原始格式不需要zcat了 就是2G 传输时间多了1分钟

curl -Lo- https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-nocloud-arm64.raw | dd of=/dev/null bs=1M status=progress

扩容硬盘
# 重读分区
partprobe

# 修复磁盘 ext4
lsblk
parted -l
parted -s /dev/sda resizepart 1 100%
e2fsck -f /dev/sda1
resize2fs /dev/sda1

# 修复磁盘 xfs
lsblk
parted -s /dev/sda resizepart 4 100%
xfs_growfs /dev/sda4


挂载改参数
mount /dev/sdX /mnt

# 更改ssh密码
sed -i 's/root:\*/root1$Claj6tKB$Y0DZhg96qKimgYQ82VShv1/g' /mnt/etc/shadow

# 添加ssh密钥
rm -rf /mnt/root/.ssh/
mkdir /mnt/root/.ssh/
echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxbMN/h4PR+XVhpdUze/eEwxf5vw1aC0PwVdIwqsYq78A3F0wvwAUN2DuPiDhArfN5HzN6ye1TPCaXhKYZM1wGHrWjFM64XuDT0sDuFVp67rLc9McJ4YAXChNQ51Y8LBss6nHiBDjDl6AobmQ67S2GTODiG3gILdiekluXS+FfaQNSPdfaHZIxTPQc/SuqyZGpSVyW9pSkVXVZn7/EO66+f1jULMt7EjFI8fBQuZlu9oCvodQyz6JMpIYRehZr8XfPaTX84XU9p3PbG9iulMh7yW1okEvGapTnuNTouZDLASAI8BvDXrw2wJiXeQ06dmsHXAfQwf3hzRUc0vFUErC3w== rsa 2048-011123" > /mnt/root/.ssh/authorized_keys
chmod 700 /mnt/root/.ssh/
chmod 600 /mnt/root/.ssh/authorized_keys

# 允许root登录
sed -i 's/#PermitRootLogin/PermitRootLogin/g' /mnt/etc/ssh/sshd_config

# 禁用cloud-init
touch /mnt/etc/cloud/cloud-init.disabled

# 网络设置 netplan
cat <<EOF> /mnt/etc/netplan/config.yaml
network:
    version: 2
    renderer: networkd
    ethernets:
        eth0:
            dhcp4: true
            dhcp6: true
            match:
                macaddress: "00:0d:3a:80:f9:00"
            set-name: eth0
EOF

# 计划任务
echo "* * * * * root systemctl enable --now rc-local" > /mnt/etc/cron.d/rc-local
chmod +x /mnt/etc/cron.d/rc-local

# 开机启动
cat <<EOF> /mnt/etc/rc.local
#!/bin/bash

# ssh
/usr/bin/ssh-keygen -A
systemctl restart ssh

# crond
rm -f /etc/cron.d/rc-local

EOF

chmod +x /mnt/etc/rc.local

# 启用rc-local服务
systemctl enable --now rc-local

# 禁用snapd
systemctl disable --now snapd.service
systemctl disable --now snapd.socket
systemctl disable --now snapd.seeded.service



发表于 2023-2-11 04:08:18 来自手机 | 显示全部楼层
前面不是有大佬用ros也可以dd吗
 楼主| 发表于 2023-2-11 04:11:30 来自手机 | 显示全部楼层
cici9911 发表于 2023-2-11 04:08
前面不是有大佬用ros也可以dd吗

ros可以直接dd ros原始raw镜像才128m,大文件直接dd会出错
发表于 2023-2-11 06:47:57 来自手机 | 显示全部楼层
可以用pxe启动吗
发表于 2023-2-11 07:11:27 | 显示全部楼层
看起来似乎只支持 eth0 吗


  1. config interface 'loopback'
  2.         option device 'lo'
  3.         option proto 'static'
  4.         option ipaddr '127.0.0.1'
  5.         option netmask '255.0.0.0'

  6. config interface 'lan'
  7.         option device 'eth0'
  8.         option proto 'dhcp'

  9. config interface 'ipv6'
  10.         option device 'eth0'
  11.         option proto 'dhcpv6'
  12.         option reqaddress 'try'
  13.         option reqprefix 'auto'
复制代码

  1. set timeout=0
  2. set default=0

  3. menuentry "mmatuska_mfslinux_ Minimalist in-memory diskless Linux distribution based on OpenWrt" {
  4. loopback loop /mfslinux.iso
  5. linux (loop)/isolinux/vmlinuz
  6. initrd (loop)/isolinux/initramfs.igz
  7. }
复制代码


发表于 2023-2-11 07:21:21 | 显示全部楼层
技术贴,已收藏。
发表于 2023-2-11 07:24:33 来自手机 | 显示全部楼层
看上去有点复杂,路过看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-9-13 18:26 , Processed in 0.088539 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表