V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yrj
V2EX  ›  随想

有没有那种虚拟化技术,安装一个软件,实际上就是安装在一个虚拟机中,使用时,确对用户无感知。

  •  1
     
  •   yrj · 2023-04-26 01:57:53 +08:00 · 4095 次点击
    这是一个创建于 368 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在看 vmware 、hyper-v 、wsl2 、docker 、sandboxie 、windows sandbox 等虚拟化相关的帖子。 然后听坛友讨论说 sandboxie 并不能防一些流氓软件读取,而且有穿透的危险。 而且我多少有些强迫症,总感觉安装太多软件 c 盘就不干净了(哈哈哈)

    根据 win11 for Android 和 docker ,忽然想,有没有一种虚拟化方案,当安装一个软件时,实际上是安装在了一个极轻量的虚拟机中,打开关闭软件和正常没区别,每个软件环境独立,卸载软件不会有任何系统残留。

    安全级别就像创建一个虚拟机然后在虚拟机内安装软件一样,区别就是操作软件像沙盒一样,虚拟机的启动关闭桌面什么的对用户无感知。打开的软件界面也和本机一样,就像 win for android 。

    解决的痛点就是:

    母系统绝对干净,删一个 app 就彻底消灭一个 app 。解救强迫症。

    app 可以多开

    虚拟机沙盒化,相对更安全

    app 能更好的备份和移植,因为本身就一个虚拟文件。

    因为底层是虚拟机,也许可以支持更多系统平台 app

    不知道我表达明白没有。。。

    我感觉目前应该是没有这样的东西。。毕竟 hyper 不像 docker 那么轻量,一个软件一个虚拟环境,也挺费资源的。

    37 条回复    2023-05-14 10:04:54 +08:00
    ltkun
        1
    ltkun  
       2023-04-26 03:03:27 +08:00 via Android
    snap
    serafin
        2
    serafin  
       2023-04-26 03:32:26 +08:00
    先不考虑性能问题,在 hyper-v 里建 N 个虚拟机,每台虚拟机只安装一个软件。但是你需要在各个虚拟机之间共享文件。如果不共享也要互传文件。这样也就没有更安全多少。
    em70
        3
    em70  
       2023-04-26 04:28:05 +08:00   ❤️ 1
    自己写个脚本,传入安装包地址,自动复制一个虚拟机来,自动启动,自动把安装包拷贝进去,然后创建一个快捷方式启动这个虚拟机
    xarthur
        4
    xarthur  
       2023-04-26 04:43:44 +08:00
    这个还用不上虚拟机,sandbox 就行,现在主流的系统应该都提供 sandbox 的机制。虚拟机的话太慢了,用户体验会很差。
    Aloento
        5
    Aloento  
       2023-04-26 04:58:20 +08:00   ❤️ 1
    Xbox: 我懂我懂
    ladypxy
        6
    ladypxy  
       2023-04-26 05:10:24 +08:00 via iPhone
    thinapp ,这都多少年的技术了……
    yrj
        7
    yrj  
    OP
       2023-04-26 05:34:45 +08:00
    @ltkun
    @xarthur 好的,我去看看
    dingwen07
        8
    dingwen07  
       2023-04-26 06:56:44 +08:00 via Android
    Chad0000
        9
    Chad0000  
       2023-04-26 07:05:52 +08:00 via iPhone
    感觉这个会是一个趋势,尤其是 webassembly 如果完全成熟,加上 UI 集成,那么桌面软件就可以有自己的类 docker 环境。不受限于系统和运行时和 UI 。
    kokutou
        10
    kokutou  
       2023-04-26 07:41:55 +08:00 via Android
    sandbox 嘛。。。
    VMware 的 thinapp
    微软的有个啥技术名字忘记了
    还有以前的技术 云端软件 这个是不是暴露年龄了。。。
    czwstc
        11
    czwstc  
       2023-04-26 07:59:13 +08:00 via iPhone
    你可以打开 windows 的内核隔离功能:
    内存完整性是 Windows 的一项功能,可确保安全地设计和信任在 Windows 内核中运行的代码。 它使用硬件虚拟化和 Hyper-v 来防止 Windows 内核模式进程注入和执行恶意代码或未经验证的代码。 在 Windows 上运行的代码的完整性由内存完整性进行验证,从而使 Windows 能够抵抗恶意软件的攻击。 内存完整性是一种强大的安全边界,有助于阻止许多类型的恶意软件在 Windows 10 和 Windows Server 2016 环境中运行。
    cxh116
        12
    cxh116  
       2023-04-26 08:18:18 +08:00 via Android
    虚拟机也有逃逸问题,没有绝对的安全。
    springwood
        13
    springwood  
       2023-04-26 08:29:18 +08:00 via iPhone
    @Chad0000 然后每个 app 都好几百 MB 嘛
    cat9life
        14
    cat9life  
       2023-04-26 08:41:14 +08:00
    以前微软有个 app-v
    ho121
        15
    ho121  
       2023-04-26 08:43:46 +08:00 via Android
    Linux 下的 Flatpak
    wy315700
        16
    wy315700  
       2023-04-26 08:46:41 +08:00
    这不就是 iOS 做的事情吗。。
    nothingistrue
        17
    nothingistrue  
       2023-04-26 10:29:05 +08:00
    软件是运行在操作系统上的,你要的这种技术首先是要操作系统支持。目前就有这种方式,IOS 、Linux Docker 、Xbox 。只是这些都不具备通用性,IOS 仅使用苹果生态,Linux Docker 就算在 Linux 领域也不适合全部程序,Xbox 就更特例了。

    通用性的尝试也有,Windows UWP ,死了。这引申出来了另一方面的要求,应用开放商的支持。你再好的技术,应用开发商不支持,都是白搭。
    lower
        18
    lower  
       2023-04-26 10:30:14 +08:00
    @kokutou 云端软件 当年真的特别好用,好像是成都的公司搞的,可惜了,,,
    lower
        19
    lower  
       2023-04-26 10:34:15 +08:00
    当年桌面软件这种虚拟化、绿化的技术方案和产品很多的,不过大多数有版权问题,很难解决;
    再后面桌面软件不火了,web 或者命令行这类的,就是容器化的天下了……
    Rache1
        20
    Rache1  
       2023-04-26 10:46:43 +08:00
    装在虚拟机,然后用 Remote App ?

    😆 不过实际用起来,还是有些别扭 i 。

    kimmknight/remoteapptool: Create and manage RemoteApps hosted on Windows 7, 8, 10, XP and Server. Generate RDP and MSI files for clients.
    https://github.com/kimmknight/remoteapptool
    yidinghe
        21
    yidinghe  
       2023-04-26 10:51:01 +08:00 via Android
    你可以用虚拟机装个 tiny10/tiny11 ,它们占用内存较小。
    ztmzzz
        22
    ztmzzz  
       2023-04-26 11:24:36 +08:00 via iPhone
    @dingwen07 remote app 不好用,对于微信 qq 这种托盘会出问题
    cheng6563
        23
    cheng6563  
       2023-04-26 11:27:35 +08:00
    VMWare 有个 Unity 视图
    efaun
        24
    efaun  
       2023-04-26 11:38:50 +08:00
    @kokutou #10 云端软件用来试用软件真的太厉害了, 到期之前直接重置, 又可以试用
    Chad0000
        25
    Chad0000  
       2023-04-26 11:57:26 +08:00
    @springwood
    如果是基于 Docker 就会是这种情况。所以我才说可能需要基于 WebAssebmly 哈。当然现在 HTML 或浏览器已经是一种事实基准了。
    documentzhangx66
        26
    documentzhangx66  
       2023-04-26 12:40:01 +08:00
    你需要的不是虚拟化,而是容器沙箱。

    容器性能比虚拟化强得多,加上你要的沙箱功能,完美了。
    dangyuluo
        27
    dangyuluo  
       2023-04-26 13:08:09 +08:00
    Multipass 然后 alias?
    verrickt
        28
    verrickt  
       2023-04-26 13:12:21 +08:00 via Android
    uwp
    VYSE
        29
    VYSE  
       2023-04-26 14:03:36 +08:00
    浏览器 HTML , 小程序,乃至 Android 任何 APP 都是部分虚拟化的并满足你最后的痛点
    yrj
        30
    yrj  
    OP
       2023-04-26 19:23:27 +08:00
    @kokutou 哈哈哈,我昨天网上查,也发现你说的云端了,可惜 14 年就停更了
    yrj
        31
    yrj  
    OP
       2023-04-26 19:34:14 +08:00
    @documentzhangx66 对对对,我就是这个意思
    yrj
        32
    yrj  
    OP
       2023-04-26 19:48:39 +08:00
    @dingwen07 你分享的这个挺有意思,感觉和我说的很像了
    hyperbin
        33
    hyperbin  
       2023-04-27 08:25:44 +08:00 via Android
    其实 Windows 有自己的类似 Docker 的容器技术
    yrj
        34
    yrj  
    OP
       2023-04-28 02:31:53 +08:00
    @hyperbin 大佬说的是 app-V 嘛
    abc8678
        36
    abc8678  
       350 天前 via Android
    @efaun 云端软件平台,当时确实不错,就是想要那种。之前还听说有民间组建第三方的云端软件库,然后就没下文了。我以前硬盘里留了很多,可惜那台电脑被家人无情的格式化了,然后把那台电脑搬回老家,然后买回来新的电脑。在 win8 时代,云端撑不住了,只好直接装软件了
    abc8678
        37
    abc8678  
       350 天前 via Android
    @yrj 在 sandboxie 里面导入别人打好的包,那效果应该跟云端软件平台差不多吧。云端软件也是在商店里下载别人绿化后的包。软件如果要更新的话,它会自动帮点击“下一步”,应该是用了脚本,由于无需用户点击,所以这个安装过程就飞快的完成了。如果使用试用版软件的话,期限到了就重置一下,相当于安卓应用的“清除数据”功能,也相当于 sandboxie-plus 的回退到快照的效果
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5435 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 08:59 · PVG 16:59 · LAX 01:59 · JFK 04:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.