该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

楼主的需求描述不清,不作评述。只说下关于楼上一些吧友提到的grub loopback设备可mount iso并读取其中文件的功能

未读过grub1/2的源码,不太了解其实现原理,但从应用上来说,这个设备不是“虚拟设备”,只是类似于方便解析iso9660格式的helper

1、从iso读取文件只能在grub运行时起作用,即当被引导的系统跑起来以后,新的系统不会认“这个设备”(实际上不是设备)

2、从技术手段来说,若被引导的系统使用bios disk io(int 13h),则grub可能通过接管中断服务的形式提供“真实的虚拟设备”,但除了像dos这样的系统会使用bios disk io,很少有系统会使用(常常会采用更直接的方式驱动硬件,而这个中间是没办法放入“系统外软件夹层”来作虚拟设备的)

3、为何有些live iso可被grub引导?拿linux based live iso来说,其步骤大体将是:

a、grub解析iso,并能读取其中的kernel和initramfs,并加载它们

b、kernel跑起来,initramfs提供内存中的rootfs,系统运行,执行一些脚本,根据boot option得知iso boot状态,并在物理设备上找到iso文件,利用系统对loop设备挂载iso文件(这一过程需求initramfs打包了相关涉及的fs的驱动)

c、由于iso或者其中带着的img(例如采用squashfs)是只读的,这时常常利用unionfs技术,或者device-mapper技术,接合内存文件系统提供cow方式的rw文件系统,并remount为rootfs,系统继续运行

可见,实际上过程中存在两种不同系统提供的loop设备,两者不相关

但本人对于Documentation/x86/boot.txt文档的阅读已历不少时日,也并未精读,对其中涉及的kernel提供的外部可控接口的可操控程度的了解有限,故而以上内容可能存在疏漏(尤其是在bootloader是否可能提供kernel驱动模型下的loop设备这一点上),如您发现,欢迎指正

linux系统运行iso,linux可以加载iso镜像文件到启动项吗相关推荐

  1. 在Linux系统中实现一个可加载的内核模块

    Intro 坐标成都电讯大专, 某操作系统课老师在PPT上草草写下3个内核线程API后就要求编程, 感受一下: include/linux/kthread.h,你就看到了它全部的API,一共三个函数. ...

  2. 中动态路径加载_GOT段在linux系统中实现代码动态加载的作用和其他段的说明

    上一节我们看到,当程序想调用系统函数时,在编译阶段无法确认被调用函数所在的虚拟地址.因此必须有机制让程序在运行过程中,在调用系统API的时候有办法去确定所调用的系统函数对应的入口地址,这就是代码运行时 ...

  3. k n:linux kernel 从开机,到加载内核镜像到内存

    原文地址: linux的内核运行原理是怎么样的呢?如何从开机,到加载内核镜像到内存? linux的内核运行原理是怎么样的呢?如何从开机,到加载内核镜像到内存? 最佳答案 本回答由提问者推荐 头像 匿名 ...

  4. linux挂载iso镜像进系统,linux可以加载iso镜像文件到启动项吗

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 楼主的需求描述不清,不作评述.只说下关于楼上一些吧友提到的grub loopback设备可mount iso并读取其中文件的功能 未读过grub1/2的源 ...

  5. linux 运行iso镜像文件,linux可以加载iso镜像文件到启动项吗

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 楼主的需求描述不清,不作评述.只说下关于楼上一些吧友提到的grub loopback设备可mount iso并读取其中文件的功能 未读过grub1/2的源 ...

  6. 如何运行linux镜像文件,linux可以加载iso镜像文件到启动项吗

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 楼主的需求描述不清,不作评述.只说下关于楼上一些吧友提到的grub loopback设备可mount iso并读取其中文件的功能 未读过grub1/2的源 ...

  7. linux如何加载镜像,linux可以加载iso镜像文件到启动项吗

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 楼主的需求描述不清,不作评述.只说下关于楼上一些吧友提到的grub loopback设备可mount iso并读取其中文件的功能 未读过grub1/2的源 ...

  8. linux 执行iso 文件,linux可以加载iso镜像文件到启动项吗

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 楼主的需求描述不清,不作评述.只说下关于楼上一些吧友提到的grub loopback设备可mount iso并读取其中文件的功能 未读过grub1/2的源 ...

  9. Linux系统下实现开机自动加载驱动模块

    在使用模块化加载驱动时,若系统内部存在同类别设备驱动,可能会出现无法加载我们添加的动态模块,比如Linux系统内置了CDC驱动,当我们使用兼容CDC和VCP驱动USB转串口芯片时,就会出现上电出现的是 ...

最新文章

  1. OpenGL鼠标拾取
  2. 如何分析用户的访问转换路径
  3. 关于团队建设,穆帅能教我们什么?
  4. 【直播回放】60分钟剖析GAN如何用于人脸的各种算法
  5. list集合去重的三种方式
  6. 捕获和抛出异常(Ctrl+Alt+T)
  7. php zip 归档使用工具,PHP 压缩与归档扩展 Zip_编程学问网
  8. 关于Char* ,CString ,WCHAR*之间的转换问题
  9. php 数组中连续的数字,php数组中最近的次要数字
  10. 袋鼠云数智之旅·上海站|探索“十四五”智慧校园新图景
  11. 软件工程课程实验报告:实验五
  12. 谷歌AI聊天机器人Bard答错问题,股价大跌7.4%;淘宝屏蔽ChatGPT;孟晚舟4月将首次当值华为轮值董事长丨每日大事件...
  13. Lsyncd:负载均衡之后,服务器的文件双向同步
  14. 表现与数据分离、web语义化的理解
  15. vue element-ui 项目使用双色主题(白天,黑夜模式)
  16. 简单测试IP地址连通性
  17. UWB高精度室内定位系统
  18. 未来的电子计算机作文300字,未来的校园科幻作文300字(精选3篇)
  19. hp服务器系统安装xp糸统,惠普笔记本怎么安装XPghost版系统教程
  20. 《白鹿原》电视剧观后感

热门文章

  1. xcode工程命令行生成ipa安装包
  2. Linux中的MAN命令
  3. uva 10026 Shoemaker's Problem(排序)
  4. solaris下用户不能正常登录CDE界面的解决办法
  5. Python面试题总结(9)--高级特性
  6. python的excel库_Python-Excel 模块哪家强?
  7. Python实现GitBook工具
  8. Django之创建应用以及配置路由
  9. 【Python基础入门系列】第09天:Python tuple
  10. python程序打包为exe可执行文件