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

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

  •  1
     
  •   yrj · 337 天前 · 4017 次点击
    这是一个创建于 337 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    通用性的尝试也有,Windows UWP ,死了。这引申出来了另一方面的要求,应用开放商的支持。你再好的技术,应用开发商不支持,都是白搭。
    lower
        18
    lower  
       337 天前
    @kokutou 云端软件 当年真的特别好用,好像是成都的公司搞的,可惜了,,,
    lower
        19
    lower  
       337 天前
    当年桌面软件这种虚拟化、绿化的技术方案和产品很多的,不过大多数有版权问题,很难解决;
    再后面桌面软件不火了,web 或者命令行这类的,就是容器化的天下了……
    Rache1
        20
    Rache1  
       337 天前
    装在虚拟机,然后用 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  
       337 天前 via Android
    你可以用虚拟机装个 tiny10/tiny11 ,它们占用内存较小。
    ztmzzz
        22
    ztmzzz  
       337 天前 via iPhone
    @dingwen07 remote app 不好用,对于微信 qq 这种托盘会出问题
    cheng6563
        23
    cheng6563  
       337 天前
    VMWare 有个 Unity 视图
    efaun
        24
    efaun  
       337 天前
    @kokutou #10 云端软件用来试用软件真的太厉害了, 到期之前直接重置, 又可以试用
    Chad0000
        25
    Chad0000  
       337 天前
    @springwood
    如果是基于 Docker 就会是这种情况。所以我才说可能需要基于 WebAssebmly 哈。当然现在 HTML 或浏览器已经是一种事实基准了。
    documentzhangx66
        26
    documentzhangx66  
       337 天前
    你需要的不是虚拟化,而是容器沙箱。

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