无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 3229|回复: 28
打印 上一主题 下一主题

Linux/Ubuntu的LiveCD,如何安装到硬盘上?

[复制链接]
跳转到指定楼层
1#
发表于 2023-5-19 03:36:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 2010linlance 于 2023-5-20 12:32 编辑

碰到挺好用的LiveCD,想安装到硬盘上,因为需要安装deb的软件包,然后 有配置文件。

每次用ISO启动,都挺好用的,想给安装到硬盘上。。。怎么弄呢?

fdisk都看不到LiveCD的系统,也就没法用DD命令了吧?

Ubuntu 18.04 LiveCD 这里下载的
https://pecmd.net/thread-23.htm
2#
发表于 2023-5-19 07:14:20 | 只看该作者
反正我用DD命令启动过一个安卓X86的ISO  呵呵
回复

使用道具 举报

3#
发表于 2023-5-19 08:18:56 | 只看该作者
http://bbs.c3.wuyou.net/forum.ph ... &extra=page%3D1
论坛内就有安装的工具。

点评

我这个写的只是启动linux-liveCD的工具,对于veket/puppy这样子解开即安装,甚至不解开也可以保存数据的发行版,相当于是个安装工具。 楼主想要的是那种安装到硬盘的工具。 基本上所有的liveCD都包含有安装  详情 回复 发表于 2023-5-19 08:38
回复

使用道具 举报

4#
发表于 2023-5-19 08:38:13 | 只看该作者
本帖最后由 liuzhaoyzz 于 2023-5-19 08:45 编辑

我这个写的只是启动linux-liveCD的工具,对于veket/puppy/tinycore这样子解开即安装,甚至不解开也可以保存数据的发行版,相当于是个安装工具。

楼主想要的是那种安装到硬盘的工具。他现在给出的题目是已经能够启动ubuntu发行版了。


基本上所有的liveCD都包含有安装工具的呀?进去选择安装就行。
回复

使用道具 举报

5#
发表于 2023-5-19 08:54:18 | 只看该作者
打卡签到赚积分
回复

使用道具 举报

6#
发表于 2023-5-19 10:36:31 | 只看该作者
接触不多,不知道怎么搞,但是LiveCD我接触过的,一般不都是启动的时候可以选择安装什么的

点评

一般的都有,但是上面这个livecd没有这个选项。。。可能因为极度精简的缘故吧。 太大的livecd,就没有啥意义了。。  详情 回复 发表于 2023-5-19 17:45
回复

使用道具 举报

7#
发表于 2023-5-19 10:49:45 | 只看该作者
VM虚拟机直接运行,或者量产到U盘里不也行吗?

点评

确实可以直接运行呀,所以是livecd,安装deb软件也很顺利,所以才想安装到硬盘上。 但是找了一圈,居然啥也没发现。。。  详情 回复 发表于 2023-5-19 17:46
回复

使用道具 举报

8#
 楼主| 发表于 2023-5-19 17:45:09 | 只看该作者
2012andyle113 发表于 2023-5-19 10:36
接触不多,不知道怎么搞,但是LiveCD我接触过的,一般不都是启动的时候可以选择安装什么的

一般的都有,但是上面这个livecd没有这个选项。。。可能因为极度精简的缘故吧。

太大的livecd,就没有啥意义了。。
回复

使用道具 举报

9#
 楼主| 发表于 2023-5-19 17:46:03 | 只看该作者
2011mjsong 发表于 2023-5-19 10:49
VM虚拟机直接运行,或者量产到U盘里不也行吗?

确实可以直接运行呀,所以是livecd,安装deb软件也很顺利,所以才想安装到硬盘上。

但是找了一圈,居然啥也没发现。。。
回复

使用道具 举报

10#
发表于 2023-5-19 18:01:07 来自手机 | 只看该作者
ventoy试了么?

点评

LiveCD本身就可以启动,快速到命令行,网络也通畅,所以才觉得很好,想安装到硬盘上去。 不是启动不了哈。。。  详情 回复 发表于 2023-5-19 18:05
回复

使用道具 举报

11#
 楼主| 发表于 2023-5-19 18:05:46 | 只看该作者

LiveCD本身就可以启动,快速到命令行,网络也通畅,所以才觉得很好,想安装到硬盘上去。

不是启动不了哈。。。
回复

使用道具 举报

12#
发表于 2023-5-19 18:30:49 来自手机 | 只看该作者
ventoy安装到硬盘啊
回复

使用道具 举报

13#
发表于 2023-5-19 20:17:25 来自手机 | 只看该作者
理论上把根目录复制到linux的分区格式的分区上,/etc/fstab编辑好,关键是有个能处理启动过程的initrd,这个是关键

点评

启动命令是下面这俩,但是没有什么根目录了。。。 直接备份DD根目录到img,再展开到/dev/sda1?  详情 回复 发表于 2023-5-20 03:25
回复

使用道具 举报

14#
 楼主| 发表于 2023-5-20 03:25:30 | 只看该作者
本帖最后由 2010linlance 于 2023-5-20 03:31 编辑
my9823 发表于 2023-5-19 20:17
理论上把根目录复制到linux的分区格式的分区上,/etc/fstab编辑好,关键是有个能处理启动过程的initrd,这个 ...

启动命令是下面这俩,但是没有什么根目录了。。。光盘里其他有用的文件都没有,貌似就这俩东西,一个initrd64一个bzImage64,没了。

  1. lsblk
  2. NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
  3. sda      8:0    0   20G  0 disk
  4. `-sda1   8:1    0   20G  0 part
  5. sr0     11:0    1 91.7M  0 rom
复制代码





直接备份DD根目录到img,再展开到/dev/sda1?

  1. if [ "$grub_cpu" == "x86_64" ]; then
  2.   menuentry "Ubuntu 18.04 LTS x64" --class ubuntu{
  3.         search --set -f /boot/ubuntu64/bzImage64
  4.         linux /boot/ubuntu64/bzImage64 quiet loglevel=3 initrd=/boot/ubuntu64/initrd64
  5.         initrd /boot/ubuntu64/initrd64
  6.   }
  7. else
  8.   menuentry "Ubuntu 18.04 LTS x86" --class ubuntu{
  9.         search --set -f /boot/ubuntu/bzImage
  10.         linux /boot/ubuntu/bzImage quiet loglevel=3 initrd=/boot/ubuntu/initrd
  11.         initrd /boot/ubuntu/initrd
  12.   }
  13. fi
复制代码

  1. iftitle [find --set-root /boot/ubuntu64/bzImage64] Ubuntu 18.04 LTS x64\n
  2. kernel /boot/ubuntu64/bzImage64 quiet loglevel=3 initrd=/boot/ubuntu64/initrd64 || find --set-root /boot/ubuntu64/bzImage64 && kernel /boot/ubuntu64/bzImage64 quiet loglevel=3 initrd=/boot/ubuntu64/initrd64
  3. initrd /boot/ubuntu64/initrd64
复制代码



回复

使用道具 举报

15#
发表于 2023-5-20 11:54:21 来自手机 | 只看该作者
64位内核是bzimage64,内核载入内存后启动initrd64进行初始化再chroot到真实的根目录。当然有的迷你版本会把根目录放进initrd里

点评

这个就是迷你版的,根目录可能在initrd里面,外面啥也没看到。 但是这个功能很完备呢,自动获取IP,deb正常安装,如果能自己添加点专用软件就好了。 比如screen和rinetd,有没有教程指点下怎么搞? 这个安  详情 回复 发表于 2023-5-20 12:03
回复

使用道具 举报

16#
 楼主| 发表于 2023-5-20 12:03:51 | 只看该作者
my9823 发表于 2023-5-20 11:54
64位内核是bzimage64,内核载入内存后启动initrd64进行初始化再chroot到真实的根目录。当然有的迷你版本会把 ...

这个就是迷你版的,根目录可能在initrd里面,外面啥也没看到。

但是这个功能很完备呢,自动获取IP,deb正常安装,如果能自己添加点专用软件就好了。

比如screen和rinetd,有没有教程指点下怎么搞?

这个安装到硬盘上,也无法保存已安装软件,估计就是因为都写死在这俩文件里了的缘故,每次重启之后,都是新的系统。

点评

你这完全不懂ubuntu的livecd,livecd有一种模式,是安装程序之后可保存数据,叫 live cd persistent.  详情 回复 发表于 2023-5-20 18:20
回复

使用道具 举报

17#
发表于 2023-5-20 12:13:47 | 只看该作者
下载看了看,根目录就initrd64里边,你可以找个ext3或者ext4分区,从iso中提取initrd64到用户目录,然后:
用binwalk看看这个cpio压缩包里的文件被压缩在那一段。
binwalk initrd64
发现有一段lzma压缩的数据,那就是它了,有的initrd是gz压缩的
root@ThinkPad:/home/my9823/Downloads# binwalk initrd64

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             ASCII cpio archive (SVR4 with no CRC), file name: ".", file name length: "0x00000002", file size: "0x00000000"
112           0x70            ASCII cpio archive (SVR4 with no CRC), file name: "REAMDE", file name length: "0x00000007", file size: "0x0000003A"
292           0x124           ASCII cpio archive (SVR4 with no CRC), file name: "TRAILER!!!", file name length: "0x0000000B", file size: "0x00000000"
512           0x200           LZMA compressed data, properties: 0x5D, dictionary size: 67108864 bytes, uncompressed size: -1 bytes
4972442       0x4BDF9A        Cisco IOS experimental microcode, for "4"
为了防止看花眼,建个目录进去载解压
mkdir 123;
cd 123;
dd if=../initrd64 bs=512 skip=1 |unlzma|cpio -idm
好了,123目录就是initrd64的全部文件。大概280M左右。

点评

感谢大佬出手指点,这个怎么增加一个screen和rinetd的软件?这俩体积小巧,又比较常用哈。 我本来昨天晚上搞了3个小时,一头雾水,都放弃睡觉了的。。 这又冒出来希望了,恳请大佬出手,指点或者干脆弄个出来  详情 回复 发表于 2023-5-20 12:28
回复

使用道具 举报

18#
 楼主| 发表于 2023-5-20 12:28:29 | 只看该作者
本帖最后由 2010linlance 于 2023-5-20 12:30 编辑
my9823 发表于 2023-5-20 12:13
下载看了看,根目录就initrd64里边,你可以找个ext3或者ext4分区,从iso中提取initrd64到用户目录,然后:
...

感谢大佬出手指点,这个怎么增加一个screen和rinetd的软件?这俩体积小巧,又比较常用哈。

我本来昨天晚上搞了3个小时,一头雾水,都放弃睡觉了的。。

这又冒出来希望了,恳请大佬出手,指点或者干脆弄个成品出来,哈哈。。如何把这个目录再压缩成initrd64,这样就更方便用了,
如果想安装到硬盘(其实是给虚拟机用,可以飞快的建立一个端口转发虚拟机,很好用),有什么详细步骤嘛?

对了,如果能告知如何改为国内源,那简直可以直接在线安装软件了。。。
目前我rinetd是用deb装上得,找起来也费尽,有的还得下载依赖包。



回复

使用道具 举报

19#
发表于 2023-5-20 12:39:43 | 只看该作者
打包应该是在initrd64解开的目录运行
find .|cpio -H newc -o>../init64
find . 用来获取当前目录的所有文件列表,然后用|管道符作为后边cpio的输入参数,-H因该是cpio压缩时使用那种格式,>定向到上级目录生成initrd64
至于添加软件你用livecd启动,chroot到这个目录,然后apt安装所需,不知道chroot前要挂载那些虚拟文件系统,没试过。

点评

大神,我都问晕了,init64解包出来根目录,我要是想安装到硬盘上,是不是直接DD到/dev/sda1就可以了? 或者需要怎么个步骤?我先不想再打包的事,就直接安装到硬盘,然后数据可以固定下来就好了。  详情 回复 发表于 2023-5-21 02:19
完了,那我更不会弄了。。。虚拟机里咋方便弄呢,哎,有机会我再试试。。。先谢谢啦。  详情 回复 发表于 2023-5-20 12:46
回复

使用道具 举报

20#
 楼主| 发表于 2023-5-20 12:46:59 | 只看该作者
my9823 发表于 2023-5-20 12:39
打包应该是在initrd64解开的目录运行
find .|cpio -H newc -o>../init64
find . 用来获取当前目录的所有 ...

完了,那我更不会弄了。。。虚拟机里咋方便弄呢,哎,有机会我再试试。。。先谢谢啦。
回复

使用道具 举报

21#
发表于 2023-5-20 15:43:19 来自手机 | 只看该作者
你运行apt安装时看提示缺少那些依赖,都下载下来解压出来复制到根目录也行,笨方法!不过这样没办法让系统记录你安装了那些包,到只要依赖满足就能运行

点评

呃,我就是希望重新把screen和rinetd这俩给封装进去,不想每次都重装才能用啦。 这个精简系统,启动飞快,获取IP也很快,开个rinetd就可以做端口转发了。  详情 回复 发表于 2023-5-20 19:44
回复

使用道具 举报

22#
发表于 2023-5-20 18:20:18 | 只看该作者
2010linlance 发表于 2023-5-20 12:03
这个就是迷你版的,根目录可能在initrd里面,外面啥也没看到。

但是这个功能很完备呢,自动获取IP,de ...

你这完全不懂ubuntu的livecd,livecd有一种模式,是安装程序之后可保存数据,叫 live cd persistent.

点评

哎,确实不懂呀,懂我还问个毛。。。  详情 回复 发表于 2023-5-20 19:44
回复

使用道具 举报

23#
 楼主| 发表于 2023-5-20 19:44:31 | 只看该作者
my9823 发表于 2023-5-20 15:43
你运行apt安装时看提示缺少那些依赖,都下载下来解压出来复制到根目录也行,笨方法!不过这样没办法让系统 ...

呃,我就是希望重新把screen和rinetd这俩给封装进去,不想每次都重装才能用啦。

这个精简系统,启动飞快,获取IP也很快,开个rinetd就可以做端口转发了。
回复

使用道具 举报

24#
 楼主| 发表于 2023-5-20 19:44:48 | 只看该作者
ygao2004 发表于 2023-5-20 18:20
你这完全不懂ubuntu的livecd,livecd有一种模式,是安装程序之后可保存数据,叫 live cd persistent.

哎,确实不懂呀,懂我还问个毛。。。
回复

使用道具 举报

25#
发表于 2023-5-20 21:11:22 来自手机 | 只看该作者
你可以把这两个文件复制出来放到/usr/bin/目录,然后看看系统里有没有ldd命令,运行ldd /usr/bin/screen|grep not看看那一行是not found就是依赖没找到,在补全这些个.so文件,就能正常运行。

点评

screen和rinetd 这俩么?这俩是deb的包,我等会去重启看看这个livecd有没有ldd命令,不一定有,是个精简系统,汗。  详情 回复 发表于 2023-5-21 01:35
回复

使用道具 举报

26#
 楼主| 发表于 2023-5-21 01:35:46 | 只看该作者
my9823 发表于 2023-5-20 21:11
你可以把这两个文件复制出来放到/usr/bin/目录,然后看看系统里有没有ldd命令,运行ldd /usr/bin/screen|gr ...

screen和rinetd 这俩么?这俩是deb的包,我等会去重启看看这个livecd有没有ldd命令,不一定有,是个精简系统,汗。
回复

使用道具 举报

27#
 楼主| 发表于 2023-5-21 02:19:27 | 只看该作者
my9823 发表于 2023-5-20 12:39
打包应该是在initrd64解开的目录运行
find .|cpio -H newc -o>../init64
find . 用来获取当前目录的所有 ...

大神,我都问晕了,init64解包出来根目录,我要是想安装到硬盘上,是不是直接DD到/dev/sda1就可以了?

或者需要怎么个步骤?我先不想再打包的事,就直接安装到硬盘,然后数据可以固定下来就好了。
回复

使用道具 举报

28#
发表于 2023-5-21 05:30:52 来自手机 | 只看该作者
内核先启动,然后会运行initrd的init,貌似根目录有个脚本init,做些启动前的挂载之类的动作,然后就运行/sbin/init(实际是systemd,这个一直比较混乱看不懂),关键期看懂根目录的init处理了什么,不是很长,结合百度看下吧。以前还有时间看这些,我现在是苦逼一个,赚钱养家,懒得折腾这个了。

点评

同苦逼,还欠债,听你的,不弄了,也一样赚钱养家,还失业了。。哎。。。先不弄了。。  详情 回复 发表于 2023-5-21 11:24
回复

使用道具 举报

29#
 楼主| 发表于 2023-5-21 11:24:32 | 只看该作者
my9823 发表于 2023-5-21 05:30
内核先启动,然后会运行initrd的init,貌似根目录有个脚本init,做些启动前的挂载之类的动作,然后就运行/sbi ...

同苦逼,还欠债,听你的,不弄了,也一样赚钱养家,还失业了。。哎。。。先不弄了。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-6-14 18:23

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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