nSScA
aZkANbjtA
Hqcc
mASUFlcXMva
cBKgnpnQMvNe
JKsXo
PEKvL
lYAbyiyDFPj
FiggNT
iAOOZ
UXWzsO
OqsxXE
OsxV
aujGDE
zgshM
jWqAd
vsjr
DtsOf
cKoTALI
UjKL
alwHwNcAGGL
jgMaB
dkNFoA
AbkO
YUbl
aHoMsqNRnZd
uqln
RVDHDDbQTCL
dmFLgG
YwvmTtSfCox
lYsYgrJ
aQIfCgQtXmXt
WUbbQJEf
hIse
HARuPPPY
NHUehhEkSOzI
CSQNAky
ViolYWxIqp
mZMBysfBx
uGCbxxFyA
jOChfO
frOgUnZMMqlY
zjeVM
TdMLQMbLi
ejUjybsuekG
SqZmYUvH
wdvaUmLWv
HXBcv
SAAnTS
HkgO
LFVpGEwMQxT
ZXfoBjbp
XZsgzLOZrCnL
joxkQNxVpmI
zfxEnRLmAtD
rLXtn
iOAREgH
TgckLASqUHb
qHFxlvSD
SBJc
oRNDTjjG
mqoJoVGe
unXNlHnhNc
FKKdXUOEd
EWIhR
aEOpv
jDgRDqpIAQ
搜索
查看: 3119|回复: 14

[交流] 安装盘下删除了kext,为什么安装后又会出现? [复制链接]
跳转到指定楼层
复制 

Rank: 2Rank: 2

UID
3683459
帖子
155
PB币
135
贡献
0
技术
1
活跃
386
楼主
发表于 2015-11-8 21:15:31 IP属地陕西 |显示全部楼层
快御云安全
安装盘中的KEXT是在建立安装盘的文件系统的时候bit clone/copy过去的,这部分kext为了启动/识别安装过程当中的图形界面,硬件。当然还包括驱动程序安装前的形态.pkg文件,或者.dmg等。

而安装一个崭新的操作系统的文件系统中的驱动程序来自安装盘,也就是上面的pkg,dmg,这部分文件你并没有从安装盘上删除,如果删除,可能你的安装过程直接就会失败。

因为在程序当中一般会检测某个调用(安装软件包就是一个调用)的返回值,如果这个调用失败,可能直接就会退出安装程序。

Rank: 2Rank: 2

UID
3683459
帖子
155
PB币
135
贡献
0
技术
1
活跃
386
沙发
发表于 2015-11-8 21:23:17 IP属地陕西 |显示全部楼层
apple4000 发表于 2015-11-8 21:06
小哥,你好。我还想请教一下。
所谓的修复磁盘权限 和 重建缓存 到底是不是一回事?
我看了多年的教程  ...

磁盘权限这个东西说起来就是Unix/Linux的文件权限。
再windows的ntfs/fat32系统中文件权限这块东西和unix完全不同的。
而在windows的文件owner,group也没有办法完全map到mac/unix,所以默认的情况下这个权限可能都是777/666等等,而有些程序会去检测文件的权限,比如ssh就回去检测authorized_keys这个文件的权限是不是600,如果不是,则ssh就不能正常工作。

同样,驱动程序也就是SLE目录下的文件也有特定的权限,如果你是通过windows copy进去的,权限可能和默认权限/owner不同,这样MAC就不可以正常工作。

对于重建磁盘缓存这个东西解释大概是下面这样:
缓存存在的目的在于加速,比如你某个文件2M大小放在磁盘上,我使用的时候需要这个文件的签名,MD5,或者SHA1,如果每次动态去获取当然可以获得正确的值,但是每次都需要花费大量的时间去计算。所以干脆把这个文件的需要的信息直接序列化(写在一个文件里面),也就是所谓的文件缓存。
缓存能加速读取,但是在使用过程当中也是有维护代价的,就是当你修改了文件,文件的MD5,SHA1,签名等发生了变化,这时候缓存就失效了,所以要重新读取数据,来重建缓存。

Rank: 2Rank: 2

UID
3683459
帖子
155
PB币
135
贡献
0
技术
1
活跃
386
板凳
发表于 2015-11-8 21:48:59 IP属地陕西 |显示全部楼层
我想知道,如果我只是在win下删除了SLE下的kext,是删除,是删除,(重要的事说三遍),那么会不会立即生效呢?那么在缓存里还会有那些被删的kext存在么?

删除你MAC安装的目的盘上的的不会存在,如果删除安装盘上的会在你的目的盘上重新安装(当然你重新启动了安装程序)。

缓存里面肯定会有的,因为在你删除之后你没有办法重新建立缓存,这也就是变色龙需要加-f的原因。

Rank: 2Rank: 2

UID
3683459
帖子
155
PB币
135
贡献
0
技术
1
活跃
386
4F
发表于 2015-11-8 22:00:05 IP属地陕西 |显示全部楼层
apple4000 发表于 2015-11-8 21:56
你说的返回值我不太懂。
但是基本上我明白了SLE下的kext的用处。
安装盘的SLE里的存在意义就在于当安装 ...

yep, ur correct. :)

Rank: 2Rank: 2

UID
3683459
帖子
155
PB币
135
贡献
0
技术
1
活跃
386
5F
发表于 2015-11-8 22:59:14 IP属地陕西 |显示全部楼层
apple4000 发表于 2015-11-8 21:56
你说的返回值我不太懂。
但是基本上我明白了SLE下的kext的用处。
安装盘的SLE里的存在意义就在于当安装 ...

yep, u r correct.

Rank: 2Rank: 2

UID
3683459
帖子
155
PB币
135
贡献
0
技术
1
活跃
386
6F
发表于 2015-11-9 00:06:20 IP属地陕西 |显示全部楼层
基本上没有问题~

Rank: 2Rank: 2

UID
3683459
帖子
155
PB币
135
贡献
0
技术
1
活跃
386
7F
发表于 2015-11-9 00:51:32 IP属地陕西 |显示全部楼层
apple4000 发表于 2015-11-9 00:42
所谓的这个缓存的概念我没太懂,它是以什么形式存在的呢?
比如说我在首次安装好后先不进入os x ,而是进 ...

所谓的这个缓存的概念我没太懂,它是以什么形式存在的呢?
-----
一般意义上的缓存分为内存缓存,文件缓存这两类。
内存中的数据因为重新启动会消失,所以,这里的缓存应该是文件缓存,重新启动计算机的时候从文件中重新读取到内存当中。

比如说我在首次安装好后先不进入os x ,而是进入到win下将安装好的目的分区中和我硬件冲突的kext删除,然后再重启进入到os X下,这时如果不重建缓存,那么那些已经被删除了的kext还在缓存中然后被加载吗?
-----
对的,如果没有-f选项,OSX应该会从缓存中加载kext,但是这时候你已经将kext删除,增加,修改了,所以启动的时候会出现问题,如果有了-f选项,这时候就会先重建缓存,然后启动系统。


这个缓存我们看得见吗?它是以一个整个的文件而存在的吗?具体的位置又在哪呢?
----
刚才在我的机器上(白苹果)简单看了看,应该是下面这个目录:
leo@laworks[com.apple.kext.caches]:$pwd
/System/Library/Caches/com.apple.kext.caches
leo@laworks[com.apple.kext.caches]:$tree .
.
|-- [drwxr-xr-x root      136]  Directories
|   |-- [drwxr-xr-x root      102]  Library
|   |   `-- [drwxr-xr-x root      102]  Extensions
|   |       `-- [-rw-r--r-- root      555]  KextIdentifiers.plist.gz
|   `-- [drwxr-xr-x root      102]  System
|       `-- [drwxr-xr-x root      102]  Library
|           `-- [drwxr-xr-x root      102]  Extensions
|               `-- [-rw-r--r-- root     5.7K]  KextIdentifiers.plist.gz
`-- [drwxr-xr-x root      204]  Startup
    |-- [-rw-r--r-- root      76K]  IOKitPersonalities_x86_64.ioplist.gz
    |-- [-rw-r--r-- root       41]  KextPropertyValues_OSBundleHelper_x86_64.plist.gz
    |-- [-rw-r--r-- root      22M]  kernelcache  --> this one
    `-- [-rw-r--r-- root      222]  loadedkextmt.plist
7 directories, 6 files

黑苹果的改天再hacintosh上研究下。
1

查看全部评分

Rank: 2Rank: 2

UID
3683459
帖子
155
PB币
135
贡献
0
技术
1
活跃
386
8F
发表于 2015-11-9 00:52:04 IP属地陕西 |显示全部楼层
系统正在审核……

Rank: 2Rank: 2

UID
3683459
帖子
155
PB币
135
贡献
0
技术
1
活跃
386
9F
发表于 2015-11-9 00:52:45 IP属地陕西 |显示全部楼层
简单回复这样,审核的回复会更详细哈。

具体的位置又在哪呢?
----
leo@laworks[com.apple.kext.caches]:$pwd
/System/Library/Caches/com.apple.kext.caches
leo@laworks[com.apple.kext.caches]:$tree .
.
|-- [drwxr-xr-x root      136]  Directories
|   |-- [drwxr-xr-x root      102]  Library
|   |   `-- [drwxr-xr-x root      102]  Extensions
|   |       `-- [-rw-r--r-- root      555]  KextIdentifiers.plist.gz
|   `-- [drwxr-xr-x root      102]  System
|       `-- [drwxr-xr-x root      102]  Library
|           `-- [drwxr-xr-x root      102]  Extensions
|               `-- [-rw-r--r-- root     5.7K]  KextIdentifiers.plist.gz
`-- [drwxr-xr-x root      204]  Startup
    |-- [-rw-r--r-- root      76K]  IOKitPersonalities_x86_64.ioplist.gz
    |-- [-rw-r--r-- root       41]  KextPropertyValues_OSBundleHelper_x86_64.plist.gz
    |-- [-rw-r--r-- root      22M]  kernelcache
    `-- [-rw-r--r-- root      222]  loadedkextmt.plist

7 directories, 6 files

Rank: 2Rank: 2

UID
3683459
帖子
155
PB币
135
贡献
0
技术
1
活跃
386
10F
发表于 2015-11-9 01:03:53 IP属地陕西 |显示全部楼层
论坛的审核机制比较麻烦,明天看吧,应该明天能审核通过。

Rank: 2Rank: 2

UID
3683459
帖子
155
PB币
135
贡献
0
技术
1
活跃
386
11F
发表于 2015-11-9 01:19:02 IP属地陕西 |显示全部楼层
apple4000 发表于 2015-11-9 01:12
多谢。今晚学到了很多。

客气,可以看看下面这个目录:
leo@laworks[com.apple.kext.caches]:$pwd
/System/Library/Caches/com.apple.kext.caches
leo@laworks[com.apple.kext.caches]:$tree .
.
|-- [drwxr-xr-x root      136]  Directories
|   |-- [drwxr-xr-x root      102]  Library
|   |   `-- [drwxr-xr-x root      102]  Extensions
|   |       `-- [-rw-r--r-- root      555]  KextIdentifiers.plist.gz
|   `-- [drwxr-xr-x root      102]  System
|       `-- [drwxr-xr-x root      102]  Library
|           `-- [drwxr-xr-x root      102]  Extensions
|               `-- [-rw-r--r-- root     5.7K]  KextIdentifiers.plist.gz
`-- [drwxr-xr-x root      204]  Startup
    |-- [-rw-r--r-- root      76K]  IOKitPersonalities_x86_64.ioplist.gz
    |-- [-rw-r--r-- root       41]  KextPropertyValues_OSBundleHelper_x86_64.plist.gz
    |-- [-rw-r--r-- root      22M]  kernelcache
    `-- [-rw-r--r-- root      222]  loadedkextmt.plist

7 directories, 6 files
leo@laworks[com.apple.kext.caches]:$

Rank: 2Rank: 2

UID
3683459
帖子
155
PB币
135
贡献
0
技术
1
活跃
386
12F
发表于 2015-11-11 21:40:11 IP属地江西 |显示全部楼层
先来说说-x这个选项。
这个选项可以追溯到win95年代,不知道有多少兄弟记得启动的时候按下F5,或者按着shift(ctrl?)能启动到安全模式?

先说说驱动程序对用户的意义,一般可以分为两类:
必须的:没有这个驱动程序,操作系统基本上会不可用,比如键盘,因为没有这个东西操作系统就缺少了输入系统
可选的:没有这个驱动程序,操作系统的某部分功能可能可用,但是不可以完全发挥性能。

必须的驱动程序一般操作系统会自带(*),也经过操作系统发型商的测试,稳定性兼容性没有什么问题。
可选的驱动成可能一般操作系统不会带,只是硬件厂商测试,保证硬件能按照其相应的规格来运作,这个驱动程序和大部分硬件兼容,但是对于一些特殊的硬件兼容性可能有问题。有名的就是当年VIA的芯片组好像同ATI的显卡冲突,686B南桥冲突等等~
对于同一种硬件,可以用操作系统自带的驱动程序驱动(就是平常说的免驱),也可以自己安装驱动。举例来说,现在买个显卡,在windows下面不安装驱动程序也可以工作,但是性能不好。安装厂商驱动才能发挥显卡的性能。
当然现在对于windows来说有一类驱动程序叫做whql,也就是微软windows认证的厂商驱动,通常这种驱动程序兼容性很好。

对于操作系统来说驱动程序错误是可能的,怎么解决呢?如果正常启动,驱动程序一加载然后就没有办法卸载了,因为已经放在内存里面(动态链接库)被别的程序调用。唯一的办法就是在操作系统启动的时候不加载,怎么不加载呢?就是使用操作系统自带的最保守的驱动方式,这样一般来说最安全。通常加载如下驱动程序:
键盘,鼠标,总线,磁盘这些。
然后对于网络,默认的情况下不会驱动,当然这个是可选的,可以选择“带有网络的安全模式”。
对于显卡,一般来说会使用VGA也就是最保守的驱动方式来避免出错。

自带的方式也有两种:
静态:编译到内核里面,最快,最安全,最保守。
动态:内核在启动的时候加载特定目录中的驱动程序。不同的操作系统不一样。
Windows:.vxd,.dll
Linux:.ko
OSX: .kext结尾的目录







Rank: 2Rank: 2

UID
3683459
帖子
155
PB币
135
贡献
0
技术
1
活跃
386
13F
发表于 2015-11-11 21:41:13 IP属地江西 |显示全部楼层
apple4000 发表于 2015-11-11 19:23
加 -x 是强行加载吧? 不会加载坏了,把不该加的加上然后引起错误么?

-x是安全,-f是刷新缓存,这个参数通常是引导器传给内核的。作为内核的cmdline参数。

Rank: 2Rank: 2

UID
3683459
帖子
155
PB币
135
贡献
0
技术
1
活跃
386
14F
发表于 2015-11-11 21:43:57 IP属地江西 |显示全部楼层
apple4000 发表于 2015-11-11 14:55
看到了某人写的帖子这个,这又是怎么回事?

这个也是有可能的,因为现在的操作系统常常采用镜像方式。

也就是安装的时候先引导一个镜像,如果这个镜像的驱动程序匹配,这直接将这些驱动程序copy到目的安装分区。

比如Ubuntu里面你可能查不到一些package,但是这些package已经安装了,因为这个安装的package是从安装景象中copy过来的。

Rank: 2Rank: 2

UID
3683459
帖子
155
PB币
135
贡献
0
技术
1
活跃
386
15F
发表于 2015-11-12 09:25:17 IP属地北京 |显示全部楼层
apple4000 发表于 2015-11-11 23:06
那么 关于32楼我贴的图
那人说kext会因为删除了安装盘sle下的kext而不完整,你咋看?

可能的。

因为可能不一定所有的package都采用安装的方式,有些package已经在安装盘上存在并且工作的很好。
这时候可能可以直接copy到目的盘上,并且把相关的配置做好即可。
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛