Windows Longhorn&&Vista——生而伟大,却又生不逢时
(多图警告!!!)
此文必然是个大工程,资料收集会比较多,加上学业紧张,所以会鸽很久(看起来写好的部分可能并未尽人意)。
资料来源:
在很久很久很久以前的2001年,一个伟大、革命性垃圾的系统————Windows XP发布了。
微软便开始紧锣密鼓地进行下一个系统的计划,这个系统的代号就是我们熟知的Longhorn,后来正式名字为Vista。
当初的演示视频:
名字来源
关于Longhorn这个名字,有一个流传甚广的传说:
Windows XP的代号叫做Whistler,Longhorn 之后的Windows叫做Blackcomb,这些名字都是来源于微软总部附近的British Columbia的滑雪区,当地有一座山名叫Whistler,山脚有一间为当地滑雪者经常光顾的类似酒吧的小店,名字叫做Longhorn。
于是微软的路线就出来了:Whistler(一个划时代的系统)——Longhorn(一个过渡性的系统)——Blackcomb(一个革命性的系统)
Whistler即为XP,Longhorn即为Vista,但是Blackcomb并不是Win7,因为微软的开发路线变化之后,Blackcomb就流产了。
关于Longhorn
Longhorn这个新系统在XP发布后不久,微软就画了很多饼,说这个新系统会在2004年左右发布,然后在WinHEC2004里面还宣布了不少信息,可惜的是依然流产了。
开发历程
Longhorn的开发历程可以总结为两个部分:Pre-reset(Milestone 2~7)(重置前)和Reseted((Pre)Beta1~2&&Release)(重置后)
关于lh重置的事
那么,为什么Longhorn会被重置呢?
在XP发布后不久,NT5就爆出各种各样的严重漏洞,微软一遍给xp打补丁,一边开发Longhorn,最后大家认为他们需要给Longhorn加上一个艰巨的任务:革命性的新系统,基于NT6内核,使用全新的、体验好的WIM安装方案,且基于.NET进行重构。
以及Longhorn的三大基只因石:Avalon、WinFS、Indigo。
WinFS即把Windows的文件系统改造成数据库,并加快搜索性能,最终因为过大的系统占用最终流产。
Avalon最终进行了阉割,变成了现在UWP必备的WPF,使用xaml
可以让写应用就像网页一样方便,而Indigo就是一个基于Web服务的一些功能,其实在Bulid 4074
里面已经非常完善了,可是最终流产。
于是,进行了三年的开发,Longhorn按理来说就要发布了,然而此时的Longhorn仍然离着能用有大量距离————使用尚不成熟且不适合操作系统底层的.NET
重构导致大部分Win32应用几乎无法使用的内核;改成屎山,bug满天飞的DWM,绚丽但又卡顿无比的Aero;吃掉仅仅512MB中大半内存的WinFS,以及一堆未完成的功能、UI;以及动不动就内存溢出的侧边栏。怎么说也不叫一个能用的系统,于是,在大家还在兴致勃勃地写Bulid 4094
的2004年8月末,上面一个信件发下来,Longhorn一夜变成了Windows Server 2003 SP1的换标版:
对于这几个Reseted的泄露版本,很多Windowser们都是存疑的,尤其是Build 3790
和Build 5001
,fake版本的可能性比较大,但是其实还是有改的。
5001的背景变成了长脚牛,其实这是存疑的一点。
5001的用户账户界面是银色的,漫游Windows XP是向导式的。
(来源:https://www.bilibili.com/read/cv11590552,个人没时间去装,侵删)
重置后的lh随着Beta1发布改名为了Vista。
Pre-Reset
在Reset(重置前),Longhorn的开发都是基于Milestone进行划分的,Milestone 1因为未知原因并没有泄露。
开发历程:
这是Longhorn开发最混乱的时期,微软想到一点就往里面扔一点,造成了系统臃肿且及其不稳定 (ariaの博客现状) 。
一个小发现:那个瘆人的fake音效来源于:
3663(M2):
3718(M3):
4011(M4):
4015(M5):
4033(M6):
4038(M6):
4074(M7):
4093 (M7 Pre-reset)
Reset
Reset后的开发路线比较清晰:
Pre-Beta1——Beta1——Pre-Beta2——Beta2——Pre-releases——Release Candidates——RTM(Release to Manufacturing)
几张图:
Build 5048(PB1):
Build 5112(B1):
Build 5270(PB2):
Build 5384(B2):
Build 5712(PRC1):
Build 6000(RTM):
有多现代?
虽然大家都觉得这是一个老旧的系统,但是其实从以前,甚至是现在的角度来看,Longhorn的构想确实是外星科技了3.5mm接口:?!。
先从三大只因石基石看起:
Avalon
Avalon的代号即为XAML,最终演变成了WPF,在如今的不少WPF与UWP应用中也能见到影子:
当初微软在demo里面就提出了这个重要的Longhorn组成部分,众多媒体都有很多报告。
在当时,Avalon是革命性的。它将MVVM的开发方式:即模型——视图———视图模型发扬光大,前端的工程师只需要自行研究XAML,而后端的专注写代码,再进行沟通,对前后端进行连接,即为视图模型。这在软件开发尚不成熟的千禧年,无疑对各大程序员发出了挑战。
除此之外,Avalon还创新性地首次把窗体分配给DirectX的显卡渲染,采用DirectWrite引擎渲染字体,而不是GDI+。并且支持了ClearType。
xaml的结构成树状,这使得维护应用程序变得非常方便、简单。
然而Avalon的缺点也很多,比如糟糕的ClearType效果使得字体在10pt一下基本不可读,以及占用性能的问题。还有使用DirectX调用显卡渲染窗口无疑给当时中低端的独显发起了挑战:因为Aero太卡了。
然而Avalon的理念延续至今,并且问题得到改善,渲染窗体以及不再是Avalon的特色,甚至连GDI窗口也采用GPU渲染,毕竟大家都知道Win7的Aero不装驱动没法开。
Indigo
关于Indigo的资料很少,Indigo是Longhorn中基于Web服务的通信Framework的代号,并且接近完成,我们不妨设它对Longhorn的进度没有影响,
WinFS
WinFS,可谓是彻头彻尾地失败,根据微软的说法,WinFS是要将Windows的文件系统改为数据库,最终WinFS因为内存泄露、占用资源高而被移除。
WinFS的初衷是为了提高生产力,重做Windows的文件管理系统,数据库结构无论是在什么时候看来都是先进的,然而在2004年实现,简直就是天方夜谭,而如今的微软却依然没有实现。
WinFX(.NET重构)
微软尝试将Longhorn基于.NET进行重写,结合XAML进行应用开发,这无疑失败了。
一个系统的重构代码量是恐怖的,绝非一时半会实现的,况且.NET作为高级语言,编写底层的内核自然不合适。
比如基于.NET进行重写的资源管理器、侧边栏,就经常有内存溢出的问题:
侧边栏
Longhorn的侧边栏可谓全能,在宣传中就看到了它满屏的生产力,以及实用的功能,然而正因.NET,侧边栏这个不稳定的东西直到Win10的时候才得以完善,最终在Vista中变成了一无是处的存放小组件的工具。
华丽的特效
关于Longhorn的华丽特效,传闻是微软错误地估计了当时的科技发展道路,他们预测几年后计算机将拥有4-6GHz的CPU,2GB以上的内存,大于1TB的硬盘,显卡的性能将是2004年初显卡性能的3倍,另外有线网络速度达到 1GB/s,而无线网络速度则达到54Mbps。
这**是直接60%的人类感谢MS啊!!! 你这1T硬盘和1GB/s、6HzCPU是说来玩的????
他们还说:Longhorn在一台256MB内存、1GHz CPU的电脑上就可以运行得很好。
呃呃呃呃呃呃呃呃。
于是Longhorn自然而然变得特别华丽(貌似是为了怼掉说微软没品位的乔布斯?!)
以至于在Build 4089后组件化也没有解决臃肿的问题,毛病一直延续到了Vista RTM
关于Vista
再来讲讲成品的故事。
Vista一经发布就饱受诟病,像是体验一下就降回XP的人不在少数(比如杜老师(,当时很多新设备都随波逐流装上了Vista,然而这些设备运行Vista及其卡顿,于是当年的电脑店最火的业务便是装XP。
不论是烦人的UAC、恶心的Aero、以及莫名其妙不知所踪的后台系统占用(即内存缓存应用)、糟糕的NT6兼容性,一度使得Vista成为又安全又卡顿又烦人的系统,即便是今天使用虚拟机运行,效果依然不尽人意,比较卡顿,内存占用高。
有一个段子:
我的电脑得了病毒,升到Vista之后却非常安全。因为Vista让我的电脑很卡,而且病毒不兼容Vista,就跑不起来了。
足以说明卡顿和糟糕的兼容。
Vista的UAC非常恶心,要么彻底关要么天天弹,这意味着你必须在安全但是烦人和危险但是舒服两个方面做选择qwq。
而且当时的电脑不管能不能用都装Vista导致一堆人反馈电脑卡awa。
Vista真的是花瓶吗?
显然不是,Vista重构了NT6内核,使得安全性大幅提高,而且Win7、Win8(.1)、Win10乃至于现在的Win11,都是基于NT6内核(Win10的NT10只是改名字),甚至于几乎没有太大的改动,有些Vista的东西直接摆到了Win11:
Win1122h2的:
以及一个卡的时候会跑出来的Basic主题:
Win7对Vista进行了大幅度精简,甚至可以说成是Vista SP3了。
还有一个重要的一点,只需要安装扩展内核和补丁包以及升级SP2,Vista就可以像7一样好用。
生而伟大,却又生不逢时
回收开头
为什么说它生而伟大呢?Vista在一个诺基亚的时代就敢于运用非线性动画、动态壁纸、半透明、圆角等现在依然认可的方式来提高审美,无疑使它成为了最好看的Windows。UAC、DirectWrite、WPF、.NET这些东西无疑对于安全以及开发有着巨大的作用,一直延续到了今天,Longhorn的大胆构想更是直接成为了如今都未实现的前沿科技。
革命性的文件管理、侧边栏、RibbonUI、小组件等更是大大提高了生产力。
NT6内核更是延续到了现在,即为NT6.4套壳NT10,Win11仍然是NT6,在system32文件夹中用Resource hacker打开onexui.dll,你可以看到Vista的壁纸,用老软件的时候可以调出Vista的窗口边框,关闭GUI启动是Vista的加载条,控制面板也成为了微软写UWP设置的最大屎山与阻碍。
DEV:我**躺着也中枪
除此之外,NT6的著名的内核隔离机制使得病毒入侵变得更加困难,更加明确了内核和应用程序的界限。
那么,她又如何生不逢时呢?
正如上面所说,Vista在当年看来就是无用的花瓶,如动态壁纸、线性动画、Aero,以及各种当年(甚至现在)看来无用的安全机制,使得其饱受诟病。
最关键的一点是,当年的显卡性能很差,很多电脑还是显示窗口都得逐行刷新的状态,这对于还有这精致的动态壁纸、线性动画、Aero的Vista更是雪上加霜,非常难用,加上UAC的阻隔,使得大家都换回了XP。
曾经微软做过一个实验:Mojave。
这个实验做的事情就是给一些当时的顶级电脑装上Vista,改名成Mojave (Apple:?! ,然后给一些人用,结果是大家对这个系统的评价特别高,然后微软又问他们对Vista的评价,结果显然是很低的。最后微软告诉他们其实这个所谓的Mojave系统就是Vista,大家都惊呆了,这跟印象中的Vista完全不同啊!显然,Vista确实超前,但是被性能所限了。
微软痛定思痛,基于Vista写了Win7。
在Win7发布的那段时间,恰逢计算机硬件界挤爆牙膏和换机高潮,得益于Win7的优秀优化、精简后,Win7一跃成为火爆的系统,直至今天。
Win7也算是Vista某种精神上的延续了吧。
实际安装&体验
总算写到这了!
首先,需要简单说明:在Longhorn 4074后的Build中,为了实现组件化目标,所以不少的功能被阉割了,因此在4074后的版本开启Aero会比较困难。
所以我们就以最经典的M7的4074版本开始:
下载&&配置虚拟机
首先下载镜像,进入:
下拉找到4074:(不是x64否则无法安装)
然后随便点一个Server下载(很慢,可以用IDM下,实测Server 2更快)
下载好之后使用VMWare新建一个自定义虚拟机
注意版本选6.5-7.x
然后装载4074的镜像:
版本选择XP Professional,毕竟是早期Build~~(其实就是太鸽了qwq)~~,更接近XP一些,其余设置保持默认,命名和路径可以修改。
其余默认
硬盘没必要这么大,可以小点
完成,启动虚拟机。
安装
稍微有点了解的人会问了:为什么不改BIOS日期?时间炸弹不会炸吗?
其实Longhorn 4074的时间炸弹有个致命Bug,即如果最初安装时间都不在时间炸弹内,那么时间炸弹就不会运行,所以完全不用担心。
接下来会进入安装界面,因为是基于WIM的,所以安装比较简单。
Continue
这里的产品密钥输入:TCP8W-T8PQJ-WWRRH-QH76C-99FBW
,OK
接受许可 (真的有人读许可么qwq ,Continue
然后这些设置无法修改,直接默认,Continue
像安装正常的Windows一样分区,Continue:
然后等待安装即可。
重启系统:
接下来你会进入一个令人崩溃的界面:检查系统,这个界面会卡十几二十分钟,请耐心等待。
检测完后进入向导,这些内容可以不管,跳过。
装驱动
等等,这就是外星科技的Longhorn?!你逗我玩?
其实并不是的,因为我们并没有解锁它的完全体:我们还需要安装驱动和插件。
首先,你需要安装各种驱动,点击这个链接下载:
接下来挂载到光盘里面:
在VMWare的虚拟机设置——光盘里面挂载(我这边截不了屏qwq):
然后Win+R
,输入devmgmt.msc
遇到警告依然坚决:
Error不管:
暂时不重启,然后安装网卡驱动:
照样子安装声卡驱动(没来得及截图),其实不装也可以的。
然后重启系统(很慢很慢,没反应就多点几次):
开Aero
Aero必然是重要且惊艳的效果,我们需要这样子打开:
安装显卡驱动并重新启动,打开 C:\Windows\Resources\Themes,复制 Jade 文件夹和 jade.theme 文件到桌面并重命名为 aero。
打开 aero.theme,将 DisplayName=@themeui.dll,-2013 改为 DisplayName=Aero,并将所有提到 jade 的地方都改为 aero,然后将他们放回 C:\Windows\Resources\Themes。
打开注册表编辑器,进入 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer 项,添加 DWORD 键 MilExplorer,并将值改为 1。打开显示属性,将主题改为 Aero。使用下面的命令启用和禁用 DWM。
启用:
1 | %systemdrive%\windows\i386\sbctl.exe start |
禁用:
1 | rundll32 %systemdrive%\windows\system32\uxdesk.dll,DwmStopComposition |
对于这些启用脚本,我们可以新建一个文本文档文件并改为bat:
装Longhorn Tools
为了解锁其完全体,我们还需要安装Longhorn Tools,点击这个链接下载
接下来进行安装:
然后弹出窗口,主题选Jade:
重启系统:
重启系统后你就发现系统大变样了:
如果你发现Aero效果依然无效,可以尝试多次重启系统,一般就能解决。
咕咕咕。。。