linux下访问仿真内存的方法 from mdyblog
本帖最后由 jie_china 于 2018-9-21 17:58 编辑问题的本质是linux没有类似Firadisk的玩意,不过下面这种取巧的方法,的确也能解决问题。
UDM对linux的支持
目标/效果:
和普通分区一样地启动,不需要UD版。
1:
linux也有个启动脚本,对应于PE的PECMD.INI
正常LINUX系统也有的。
该文件名为linuxrc 或 init, 取决于制作时选取的方式。
一般是明文一个脚本。
该文件存在于启动文件initrd(可压缩成initrd.gz initrd.xz)
initrd 和 主文件系统是独立的, 启动时是通过内存直接传递的。
这样在 linuxrc 或 init 可加载 主文件系统。
目前的CDLINUX 等便携式 LINUX 都是这样实现的,即在 linuxrc 或 init 中查找、选择、加载 主文件系统。
2:
在 linuxrc 或 init 的最开始调用 ./udm 即可加载 当前UDM文件系统。
需要先加载 devtmpfs :
mount -nt devtmpfs none /dev
调用 ./udm 调用 ./udm :
udmboot=`./udm 2>/dev/null`
如果不是普通分区模式,
会加载到/mnt/udmdev,设备为/dev/udmdev
输出返回 /dev/udmdev /mnt/udmdev
如果是普通分区模式
输出返回分区,如: /dev/sdb1
没有加载。
高级:
如果需要,可进一步分解出2部分
udmdev=`echo $udmboot |cut -d" " -f1`
udmroot=`echo $udmboot | cut -d" " -f2`
./udm 放initrd解开目录树的根下, 一起打包
find .| cpio -o -H newc > ../initrd
cd ..
gzip< initrd > initrd.gz
xz --check=crc32 --x86 -lzma2 < initrd >initrd.xz
高级:
udmdev 其实指明了当前优先加载的设备,即精确制导。
linuxrc 或 init 可以因此优化下,精确加载-----系统有多个本系统的拷贝时,
可以正确找到当前启动的Linux,而不会启动到其它拷贝。
3:
menu.lst 中
(77)/udmboot || set _=
这个加载UDM 传过来的 精确制导 参数, 用来 加载 UDM
启动linux的每行 kernel 最后都加上%udmboot%
如:
kernel /porteus/vmlinuz norootcopy nomagic timezone=Asia/Shanghai volume=0% kmap=cn,us login=root %udmboot%
4:
实例Porteus.zip\linuxrc.tgz实例Porteus.zip\menu.lst
Porteus-KDE-zh_CN-i486-20151113.iso
这个是把ISO完全解开到UDM分区, UDM分区就如普通分区一样。
如果ISO整体放在分区中 /xxx/Porteus-KDE-zh_CN-i486-20151113.iso
(77)/udmboot || set _=
title 启动 Porteus.iso
map/xxx/Porteus-KDE-zh_CN-i486-20151113.iso (hd32) && map --rehook
kernel (hd32)/porteus/vmlinuz from=/xxx/Porteus-KDE-zh_CN-i486-20151113.iso %udmboot%
initrd (hd32)/porteus/initrd.xz
udmboot=`./udm`
udmdev=`echo $udmboot |cut -d" " -f1`
udmroot=`echo $udmboot | cut -d" " -f2`
PTH=/ud/porteus
LPTH=porteus
echo $i"[1;39m""using data from $PTH""[0m"
# Make all drivers available:
mount -o loop -t squashfs $PTH/base/000-kernel.xzm /opt/000-kernel 2>/dev/null
mount -o bind /opt/000-kernel/lib/modules /lib/modules 2>/dev/null
# Create symlinks used often by porteus scripts:
ln -sf $PTH/modules/porteus/modules
ln -sf $PTH/optional /porteus/optional wintoflash 发表于 2018-9-18 10:45
其实是有的。
来源:https://www.syslinux.org/wiki/index.php?title=MEMDISK
memdiskfind and kernel...
多谢大神,我试试 本帖最后由 jie_china 于 2018-10-11 20:04 编辑
[原创] 基于e2b的iso文件硬盘整体启动
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=378314
[分享] easy2boot最新版2016-05【iso强迫症 ntfs的优盘uefi启动】
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=378247
[教程] [原创]Easy2Boot 1.90版的启动U盘的制作与使用
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=386566
Easy2Boot多系统U盘移动硬盘启动制作工具1.85绿色版
http://www.upantool.com/qidong/hdd/9821.html
Easy2Boot多系统U盘安装工具: Windows 7/8/8.1; Linux -MBR/UEFI通杀
http://bbs.pcbeta.com/viewthread-1508659-1-1.html
CDlinux 9.8b5 从PXE启动,及UD启动进入图形界面 2013.07.07更新
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=210496 title load ubuntu 16.04.1 iso image
find --set-root --ignore-floppies --ignore-cd /iso/ubuntu-16.04.1-desktop-amd64.iso
map /iso/ubuntu-16.04.1-desktop-amd64.iso (hd32)
map --hook
kernel (hd32)/casper/vmlinuz.efi boot=casper iso-scan/filename=/iso/ubuntu-16.04.1-desktop-amd64.iso noprompt noeject
initrd (hd32)/casper/initrd.lz
页:
[1]